diff --git a/src/Gargantext/Components/Corpus/Layout.purs b/src/Gargantext/Components/Corpus/Layout.purs
index 1d09334c8fd299c92869d087a27e1a318878bd38..ebe0470d337d6a20b5964d740377e0cd70663396 100644
--- a/src/Gargantext/Components/Corpus/Layout.purs
+++ b/src/Gargantext/Components/Corpus/Layout.purs
@@ -22,6 +22,7 @@ import Gargantext.Utils.Reactix as R2
 import Reactix as R
 import Reactix.DOM.HTML as H
 import Toestand as T
+import Gargantext.Hooks.UseFeatureFlag as Feature
 
 type Props =
   ( nodeId :: ID
@@ -107,28 +108,11 @@ layoutCpt = here.component "layout" cpt
               [ editionBlock
                   { nodeId }
               ]
-        , H.div
-            { className: "node-layout__code-section corpus-layout__code-section" }
-            [ tileMenu
-                { boxes
-                , currentTile: Just corpusCodeRoute
-                , xTile: Just corpusCodeRoute
-                , yTile: Just corpusCodeRoute
-                }
-                [ B.button
-                    { callback: const $ pure unit
-                    , status: Muted
-                    , size: SmallSize
-                    , variant: ButtonVariant Secondary
-                    }
-                    [ B.icon
-                        { name: "code" }
-                    , B.wad_
-                        [ "d-inline-block", "virtual-space", "w-1" ]
-                    , H.text "Code section"
-                    ]
-                ]
-            ]
+        , Feature.hide
+            { keys: [ "expert" ]
+            , render: viewCodeSectionButton boxes corpusCodeRoute
+
+            }
         , H.div
             { className: "node-layout__folders corpus-layout__folders" }
             [ FV.folderView
@@ -138,6 +122,31 @@ layoutCpt = here.component "layout" cpt
             ]
         ]
 
+viewCodeSectionButton :: Record AppStore.Store -> (Unit -> Effect GR.AppRoute) -> R.Element
+viewCodeSectionButton boxes corpusCodeRoute =
+  H.div
+    { className: "node-layout__code-section corpus-layout__code-section" }
+    [ tileMenu
+        { boxes
+        , currentTile: Just corpusCodeRoute
+        , xTile: Just corpusCodeRoute
+        , yTile: Just corpusCodeRoute
+        }
+        [ B.button
+            { callback: const $ pure unit
+            , status: Muted
+            , size: SmallSize
+            , variant: ButtonVariant Secondary
+            }
+            [ B.icon
+                { name: "code" }
+            , B.wad_
+                [ "d-inline-block", "virtual-space", "w-1" ]
+            , H.text "Code section"
+            ]
+        ]
+    ]
+
 onExpandTableEditionChange :: T.Change Boolean -> Effect Unit
 onExpandTableEditionChange { new } = do
   cache <- R2.loadLocalStorageState' R2.appParamsKey defaultCacheParams
diff --git a/src/Gargantext/Components/TopBar.purs b/src/Gargantext/Components/TopBar.purs
index a1436e0fea8e919afe7ac22421b8d4a834b605dc..aa0300b6f79a0d6baec2ed86c824907c35a215d2 100644
--- a/src/Gargantext/Components/TopBar.purs
+++ b/src/Gargantext/Components/TopBar.purs
@@ -75,16 +75,14 @@ componentCpt = here.component "main" cpt
         , viewSideBar showTree' onTreeToggleClick
         , viewChangeLayoutSide
         , viewInfoMenu { location: windowLocation } []
-        , Feature.feature
+        , Feature.hide
             { keys: [ "expert" ]
-            , render: \shouldRender ->
-                if shouldRender then viewQuestionMark else empty
+            , render: viewQuestionMark
             }
 
-        , Feature.feature
+        , Feature.hide
             { keys: [ "expert" ]
-            , render: \shouldRender ->
-                if shouldRender then viewThemeSelector theme else empty
+            , render: viewThemeSelector theme
             }
 
         , H.div