diff --git a/app/components/panel_modes.hbs b/app/components/panel_modes.hbs
deleted file mode 100644
index c00cfec808dcf62d060edf29cd43c03097d99209..0000000000000000000000000000000000000000
--- a/app/components/panel_modes.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-{{#if @dualPanelMode}}
-  <button
-    type="button"
-    class="btn btn-light mx-1"
-    {{on 'click' @onDuplicatePanel}}>
-      {{#if (is_equal @hint "left")}}
-        <i class="bi-arrow-bar-right"></i>
-      {{else}}
-         <i class="bi-arrow-bar-left"></i>
-      {{/if}}
-  </button>
-
-  <button type="button"
-    class="btn btn-light mx-1"
-    {{on 'click' @onSwapPanels}}>
-      <i class="bi-arrow-left-right"></i>
-  </button>
-{{/if}}
diff --git a/app/components/panel_modes/index.hbs b/app/components/panel_modes/index.hbs
new file mode 100644
index 0000000000000000000000000000000000000000..896a212e4cccbfce7b5f044d8d14de10d35c77ad
--- /dev/null
+++ b/app/components/panel_modes/index.hbs
@@ -0,0 +1,20 @@
+{{#if this.are_not_same_panels }}
+  {{#if @dualPanelMode}}
+    <button
+      type="button"
+      class="btn btn-light mx-1"
+      {{on 'click' @onDuplicatePanel}}>
+        {{#if (is_equal @hint "left")}}
+          <i class="bi-arrow-bar-right"></i>
+        {{else}}
+           <i class="bi-arrow-bar-left"></i>
+        {{/if}}
+    </button>
+
+    <button type="button"
+      class="btn btn-light mx-1"
+      {{on 'click' @onSwapPanels}}>
+        <i class="bi-arrow-left-right"></i>
+    </button>
+  {{/if}}
+{{/if}}
diff --git a/app/components/panel_modes/index.js b/app/components/panel_modes/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..4c213a77e0a089810aee89bbf8125049d8ad863e
--- /dev/null
+++ b/app/components/panel_modes/index.js
@@ -0,0 +1,23 @@
+import Component from '@glimmer/component';
+import { service } from '@ember/service';
+
+
+export default class PanelModesComponent extends Component {
+  @service router;
+
+  get are_not_same_panels() {
+    /* Returns true if both panels are not same (non empty) values */
+    let param, query_param, route;
+
+    route = this.router.currentRoute;
+
+    param = route.params.document_id || route.params.node_id;
+    query_param = route.queryParams.extra_id;
+
+    if (param && query_param) {
+      return param !== query_param;
+    }
+
+    return true;
+  }
+}
\ No newline at end of file
diff --git a/app/controllers/authenticated/document.js b/app/controllers/authenticated/document.js
index 918a92cdef0a5903f136123b34155fbc288ec049..dd8f26951f4042ec7190b14443ee05c31253ea91 100644
--- a/app/controllers/authenticated/document.js
+++ b/app/controllers/authenticated/document.js
@@ -77,7 +77,6 @@ export default class DocumentController extends DualPanelBaseController {
         'extra_type': 'doc'
       }
     }
-
     if (this.extra_id) {
       this.router.transitionTo(
         'authenticated.document',