diff --git a/core/modules/block/block.js b/core/modules/block/block.js
index 72b5673..65937dc 100644
--- a/core/modules/block/block.js
+++ b/core/modules/block/block.js
@@ -117,24 +117,8 @@ Drupal.behaviors.blockDrag = {
         var select = $(this);
         tableDrag.rowObject = new tableDrag.row(row);
 
-        // Find the correct region and insert the row as the first in the region.
-        $('tr.region-message', table).each(function () {
-          if ($(this).is('.region-' + select[0].value + '-message')) {
-            // Add the new row and remove the old one.
-            $(this).after(row);
-            // Manually update weights and restripe.
-            tableDrag.updateFields(row.get(0));
-            tableDrag.rowObject.changed = true;
-            if (tableDrag.oldRowElement) {
-              $(tableDrag.oldRowElement).removeClass('drag-previous');
-            }
-            tableDrag.oldRowElement = row.get(0);
-            tableDrag.restripeTable();
-            tableDrag.rowObject.markChanged();
-            tableDrag.oldRowElement = row;
-            $(row).addClass('drag-previous');
-          }
-        });
+        // Find the correct region and insert the row as the last in the region.
+        $('.region-' + select[0].value + '-message', table).nextUntil($('.region-message')).last().before(row);
 
         // Modify empty regions with added or removed fields.
         checkEmptyRegions(table, row);
