diff --git a/doc/_themes/odoodoc/static/app.js b/doc/_themes/odoodoc/static/app.js
index 47c33f41d2314ea1200dda399930b1e83bec1a7b..a0d7376530a4fdf1cddf23e3b816187bfd99f002 100644
--- a/doc/_themes/odoodoc/static/app.js
+++ b/doc/_themes/odoodoc/static/app.js
@@ -77,7 +77,7 @@ $(function () {
         var sheet = findSheet(/style\.css$/);
         if (!sheet) { return; }
         // build PL switcher UI and hook toggle event
-        $(buildSwitcher(Object.keys(languages)))
+        var $switcher = $(buildSwitcher(Object.keys(languages)))
             .prependTo('div.documentwrapper')
             .on('click', 'li', function (e) {
                 $(e.target).addClass('active')
@@ -93,7 +93,8 @@ $(function () {
                 ].join('');
                 sheet.deleteRule(lastIndex);
                 sheet.insertRule(sel + '{' + content + '}', lastIndex);
-        });
+            });
+        $switcher.affix();
     })(); }
 
 
diff --git a/doc/_themes/odoodoc/static/style.css b/doc/_themes/odoodoc/static/style.css
index 9458adbaca27a106b260670c4b9c2e2c5811eb5d..96e2bba97a0d662fe082e542a80f4dbdcdbf3661 100644
--- a/doc/_themes/odoodoc/static/style.css
+++ b/doc/_themes/odoodoc/static/style.css
@@ -7248,7 +7248,7 @@ td.field-body > ul {
   color: white;
   width: auto !important;
   float: none !important;
-  position: fixed;
+  position: absolute;
   display: -webkit-flex;
   display: flex;
   -webkit-justify-content: flex-end;
@@ -7259,6 +7259,10 @@ td.field-body > ul {
   margin: 0;
   z-index: 5;
 }
+.stripe .switcher.affix {
+  position: fixed;
+  top: 0;
+}
 .stripe .switcher li {
   background-color: #0f131a;
   padding: 0.4em 1em;
@@ -7268,10 +7272,10 @@ td.field-body > ul {
 }
 .stripe .switcher li:first-child {
   border-left-width: 1px;
-  border-radius: 5px 0 0 5px;
+  border-radius: 0 0 0 5px;
 }
 .stripe .switcher li:last-child {
-  border-radius: 0 5px 5px 0;
+  border-radius: 0 0 5px 0;
 }
 .stripe .switcher li:hover {
   background-color: #222;
diff --git a/doc/_themes/odoodoc/static/style.less b/doc/_themes/odoodoc/static/style.less
index d715bb138681543b120686ceda3ef35bb2ed38c6..258990067d89e90a2511e9f19fb23a473f0425fa 100644
--- a/doc/_themes/odoodoc/static/style.less
+++ b/doc/_themes/odoodoc/static/style.less
@@ -767,7 +767,7 @@ td.field-body {
     width: auto !important;
     float: none !important;
 
-    position: fixed;
+    position: absolute;
     display: -webkit-flex;
     display: flex;
     -webkit-justify-content: flex-end;
@@ -778,6 +778,10 @@ td.field-body {
     padding: 0;
     margin: 0;
     z-index: 5;
+    &.affix {
+      position: fixed;
+      top: 0;
+    }
 
     li {
       background-color: #0f131a;
@@ -787,10 +791,10 @@ td.field-body {
       cursor: pointer;
       &:first-child {
         border-left-width: 1px;
-        border-radius: 5px 0 0 5px;
+        border-radius: 0 0 0 5px;
       }
       &:last-child {
-        border-radius: 0 5px 5px 0;
+        border-radius: 0 0 5px 0;
       }
       &:hover {
         background-color: #222;