diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/canvas.component.html b/projects/editor/src/app/components/unit-view/page-view/canvas/canvas.component.html
index d54c509fdea8b172f5d0fc0ca9544a6379975927..5c13febe630ce323e7f81cc5eec24a741798a03f 100644
--- a/projects/editor/src/app/components/unit-view/page-view/canvas/canvas.component.html
+++ b/projects/editor/src/app/components/unit-view/page-view/canvas/canvas.component.html
@@ -39,6 +39,7 @@
                                 [section]="section" [sectionIndex]="i"
                                 [isSelected]="selectionService.selectedPageSectionIndex === i"
                                 [dropListList]="dropListList"
+                                (elementSelected)="selectionService.selectedPageSectionIndex = i"
                                 (transferElement)="moveElementsBetweenSections(selectionService.getSelectedElements(),
                                                            $event.previousSectionIndex,
                                                            $event.newSectionIndex)"
diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/canvas-element-overlay.ts b/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/canvas-element-overlay.ts
index d36fd41a17a5780c90386e5d1443f0dce190f106..2a79f11e17260a9e37be3bbf10eca2762e994a7b 100644
--- a/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/canvas-element-overlay.ts
+++ b/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/canvas-element-overlay.ts
@@ -19,7 +19,7 @@ import { UIElement } from '../../../../../../../../common/interfaces/elements';
 export abstract class CanvasElementOverlay implements OnInit, OnDestroy {
   @Input() element!: UIElement;
   @Input() viewMode: boolean = false;
-  @Output() elementSelected = new EventEmitter<unknown>();
+  @Output() elementSelected = new EventEmitter();
   @ViewChild('elementContainer', { read: ViewContainerRef, static: true }) private elementContainer!: ViewContainerRef;
   isSelected = false;
   protected childComponent!: ComponentRef<ElementComponent | CompoundElementComponent>;
@@ -74,6 +74,14 @@ export abstract class CanvasElementOverlay implements OnInit, OnDestroy {
     }
   }
 
+  elementClicked(event: MouseEvent): void {
+    if (!this.isSelected) {
+      this.selectElement(event.shiftKey);
+    }
+    event.stopPropagation();
+    this.elementSelected.emit();
+  }
+
   openEditDialog(): void {
     this.unitService.showDefaultEditDialog(this.element);
   }
diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/dynamic-canvas-overlay.component.ts b/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/dynamic-canvas-overlay.component.ts
index 66a8c297a944829b933a0ed10a2c050c2cfd9f60..14cadff2ba3069457a44dd080ffe10408b3b6bb1 100644
--- a/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/dynamic-canvas-overlay.component.ts
+++ b/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/dynamic-canvas-overlay.component.ts
@@ -17,7 +17,7 @@ import { UIElement } from '../../../../../../../../common/interfaces/elements';
            [style.display]="dragging ? 'none' : ''"
            tabindex="-1"
            cdkDrag [cdkDragData]="{dragType: 'move', element: element}"
-           (click)="selectElement($event.shiftKey); $event.stopPropagation()" (dblclick)="openEditDialog()"
+           (click)="elementClicked($event)" (dblclick)="openEditDialog()"
            (cdkDragStarted)="moveDragStart()"
            (cdkDragEnded)="moveDragEnd()"
            [style.outline]="isSelected ? 'purple solid 1px' : ''"
diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/static-canvas-overlay.component.ts b/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/static-canvas-overlay.component.ts
index 5c48bfbfab3cd215b5fc65df6b52e53d5b098c2f..94f6e84db1d4926dbac76714d9d9d04b38d0a29d 100644
--- a/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/static-canvas-overlay.component.ts
+++ b/projects/editor/src/app/components/unit-view/page-view/canvas/overlays/static-canvas-overlay.component.ts
@@ -86,12 +86,4 @@ export class StaticCanvasOverlayComponent extends CanvasElementOverlay {
       })
       .unsubscribe();
   }
-
-  elementClicked(event: any): void {
-    if (!this.isSelected) {
-      this.selectElement(event.shiftKey);
-    }
-    event.stopPropagation();
-    this.elementSelected.emit();
-  }
 }
diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/section-dynamic.component.ts b/projects/editor/src/app/components/unit-view/page-view/canvas/section-dynamic.component.ts
index 2f0c602e347c07d11e5c49910ce93fb61755976f..68b7f17c63a1f869acd1527f1d133ce99c81332a 100644
--- a/projects/editor/src/app/components/unit-view/page-view/canvas/section-dynamic.component.ts
+++ b/projects/editor/src/app/components/unit-view/page-view/canvas/section-dynamic.component.ts
@@ -55,6 +55,7 @@ import { DynamicSectionHelperGridComponent } from './dynamic-section-helper-grid
                                      [gridRowRange]="element.position.gridRowRange"
                                      (dragStart)="dragging = true"
                                      (dragEnd)="dragging = false"
+                                     (elementSelected)="elementSelected.emit()"
                                      (elementChanged)="helperGrid?.refresh()">
       </aspect-dynamic-canvas-overlay>
     </div>
@@ -66,6 +67,7 @@ export class SectionDynamicComponent {
   @Input() dropListList!: string[];
   @Input() isSelected!: boolean;
   @Output() transferElement = new EventEmitter<{ previousSectionIndex: number, newSectionIndex: number }>();
+  @Output() elementSelected = new EventEmitter();
 
   @ViewChild(DynamicSectionHelperGridComponent) helperGrid!: DynamicSectionHelperGridComponent;
   @ViewChildren('elementComponent') childElementComponents!: QueryList<CanvasElementOverlay>;