--- homebox.js.ori	2011-03-11 18:46:15.221219001 +0100
+++ homebox.js	2011-03-11 19:50:35.673219001 +0100
@@ -78,15 +78,32 @@ Drupal.behaviors.homebox = function (con
  * Set all column heights equal
  */
 Drupal.homebox.equalizeColumnsHeights = function () {
-  var maxHeight = 0;
+  var maxHeight = Array();
+  maxHeight[0] = 0;
+  var boxWidth = $('#homebox').width();		// the width of the entire homebox area
+  var curWidth = 0;
+  var curRow = 0;
+  var thisWidth = 0;
+  var thisRow = 0;
   Drupal.homebox.$columns.each(function () {
     if ($(this).parent('.homebox-column-wrapper').attr('style').match(/width: 100%/i) == null) {
+      if (curWidth >= boxWidth) {		// new row
+        curRow += 1;
+        curWidth = 0;
+        maxHeight[curRow] = 0;
+      }
+      curWidth += $(this).parent('.homebox-column-wrapper').width();
       $(this).height('auto');
-      maxHeight = Math.max($(this).height(), maxHeight);
+      maxHeight[curRow] = Math.max($(this).height(), maxHeight[curRow]);
     }
   }).each(function () {
     if ($(this).parent('.homebox-column-wrapper').attr('style').match(/width: 100%/i) == null) {
-      $(this).height(maxHeight);
+      if (thisWidth >= boxWidth) {		// new row
+        thisRow += 1;
+        thisWidth = 0;
+      }
+      thisWidth += $(this).parent('.homebox-column-wrapper').width();
+      $(this).height(maxHeight[thisRow]);
     }
   });
 };
