--- panel-struts.c.orig	2009-01-31 22:21:48.000000000 +0000
+++ panel-struts.c	2009-01-31 22:32:26.000000000 +0000
@@ -294,7 +294,26 @@
 	case PANEL_ORIENTATION_BOTTOM:
 		if (monitor_y + monitor_height < screen_height)
 			strut_size += screen_height - (monitor_y + monitor_height);
-		if (!bottommost) strut_size = 0;
+		if (!bottommost) 
+                  {
+                    strut_size = 0;
+		    fprintf(stderr,"BOTTOM HACK! leftmost=%d rightmost=%d monheight=%d monwidth=%d mony=%d size=%d\n",
+                                   leftmost, rightmost, monitor_height, monitor_width, monitor_y,
+                                   panel_toplevel_get_size(toplevel));
+                    /* This is a hack for a stack of monitors, if we are a 'bottom'
+                       but not at the bottom most monitor but there is just one wide stack
+                       then convert ourselves into a left strut covering the whole width
+                       but over a restricted y range */
+		    if (leftmost && rightmost)
+		    {
+                      panel_xutils_set_strut (widget->window,
+                                              PANEL_ORIENTATION_LEFT,
+		  			      monitor_width,
+                                              monitor_y+monitor_height-panel_toplevel_get_size(toplevel),
+                                              monitor_y+monitor_height-1);
+                      return;
+                    }
+                  }
 		break;
 	case PANEL_ORIENTATION_LEFT:
 		if (leftmost && monitor_x > 0)
