diff --git a/core/modules/block/block.js b/core/modules/block/block.js
index ce4995dcadf7e94be7510a781ff668578837744a..64555999c53007f551b376738be0ad943f9de051 100644
--- a/core/modules/block/block.js
+++ b/core/modules/block/block.js
@@ -117,11 +117,11 @@ 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.
+        // Find the correct region and insert the row as the last 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);
+            $(this).nextUntil('.region-title').last().after(row);
             // Manually update weights and restripe.
             tableDrag.updateFields(row.get(0));
             tableDrag.rowObject.changed = true;