diff --git a/app/components/viewer/document/index.hbs b/app/components/viewer/document/index.hbs
index 3b3a77eb07885f199e0aca7297c54ee63e7fc558..f8b00f0b94af016cdba5ff4a8b4d4f33641a88aa 100644
--- a/app/components/viewer/document/index.hbs
+++ b/app/components/viewer/document/index.hbs
@@ -4,7 +4,8 @@
       @pages={{@pages}}
       @selectedPages={{@selectedPages}}
       @onDblClick={{this.onThumbnailDblClick}}
-      @onCheckboxChange={{@onCheckboxChange}} />
+      @onCheckboxChange={{@onCheckboxChange}}
+      @onThumbnailsPositionChanged={{@onThumbnailsPositionChanged}}/>
   {{/if}}
   <Viewer::ThumbnailsSwitch
     @onThumbnailsToggle={{this.onThumbnailsToggle}}
diff --git a/app/components/viewer/index.hbs b/app/components/viewer/index.hbs
index 9a506cdb219356ef459f88bcd521406e6021c7d6..b30b1bdd796c2ddfc69c4d7eb1da9c1a60436e81 100644
--- a/app/components/viewer/index.hbs
+++ b/app/components/viewer/index.hbs
@@ -33,5 +33,6 @@
     @pages={{this.pages}}
     @selectedPages={{this.selected_pages}}
     @thumbnails_visible={{this.thumbnails_visible}}
-    @onCheckboxChange={{this.onThumbnailCheckboxChange}} />
+    @onCheckboxChange={{this.onThumbnailCheckboxChange}}
+    @onThumbnailsPositionChanged={{this.onThumbnailsPositionChanged}} />
 </div>
diff --git a/app/components/viewer/index.js b/app/components/viewer/index.js
index e821fd596dd4fce6ac65424417ea27a7031df50e..0b8af271e6f9e4d2e6ff10f4f16d3f0c2a211440 100644
--- a/app/components/viewer/index.js
+++ b/app/components/viewer/index.js
@@ -143,6 +143,13 @@ export default class ViewerComponent extends Component {
     }
   }
 
+  @action
+  onThumbnailsPositionChanged({original_pos, drop_pos, page_ids}) {
+    console.log(`onThumbnailsPositionChanged`);
+    console.log(`original_pos=${original_pos}, drop_pos=${drop_pos}, page_ids=${page_ids}`);
+    this._pages = [];
+  }
+
   @action
   openConfirmDeletionModal() {
     this.show_confirm_pages_deletion_modal = true;
@@ -189,6 +196,8 @@ export default class ViewerComponent extends Component {
 
   get pages() {
 
+    console.log('get pages');
+
     if (this.__pages__) {
       // workaround for tracking changes in array
     }
@@ -196,10 +205,12 @@ export default class ViewerComponent extends Component {
     if (this._pages.length > 0) {
       // If newer version of the pages is available
       // (e.g. document was OCRed) then just use it
+      console.log(`rendering this._pages`);
       return this._pages;
     }
 
     // Initial version of the pages
+    console.log(`rendering this.args.pages`);
     return this.args.pages;
   }
 
diff --git a/app/components/viewer/thumbnails/index.js b/app/components/viewer/thumbnails/index.js
index d0057704bf7547d67e51ec6b96d2e2e3561b1571..6f52da196155cae3433321a6d2faf6fe3e4a2968 100644
--- a/app/components/viewer/thumbnails/index.js
+++ b/app/components/viewer/thumbnails/index.js
@@ -1,16 +1,20 @@
 import Component from '@glimmer/component';
 import Point from 'papermerge/utils/point';
+import { action } from '@ember/object';
 import { get_cursor_pos_within_element } from 'papermerge/utils/dom';
 
 
 export default class ViewerThumbnailsComponent extends Component {
 
+  @action
   onDragendCancel() {
   }
 
+  @action
   onDragendSuccess() {
   }
 
+  @action
   onDrop({event, element}) {
     let data, json_data, page_ids, original_pos, drop_pos;
 
@@ -24,18 +28,22 @@ export default class ViewerThumbnailsComponent extends Component {
     drop_pos = get_cursor_pos_within_element(
       element,
       new Point(event.clientX, event.clientY)
-    )
-    console.log(`Thumbnails received: dropped page_ids=${page_ids}`);
-    console.log(`original position=${original_pos}`);
-    console.log(`drop position=${drop_pos}`);
+    );
+
+    this.args.onThumbnailsPositionChanged({
+      original_pos, drop_pos, page_ids
+    });
   }
 
+  @action
   onDragOver() {
   }
 
+  @action
   onDragEnter() {
   }
 
+  @action
   onDragLeave() {
   }
 }
diff --git a/app/utils/dom.js b/app/utils/dom.js
index ce3f14df946f033ba78cd29b6d46bf43844f4940..c4fc74cfb10761b18db694a2df8b783de302617e 100644
--- a/app/utils/dom.js
+++ b/app/utils/dom.js
@@ -65,7 +65,7 @@ function get_cursor_pos_within_element(element, cursor_coord) {
     }
   });
 
-  pos = children.length - cursor_before_child
+  pos = children.length - cursor_before_child;
 
   return pos;
 }