diff --git a/dzen2-0.8.5/main.c b/dzen2.patched/main.c
index 8bd6fd8..a5b603b 100644
--- a/dzen2-0.8.5/main.c
+++ b/dzen2.patched/main.c
@@ -276,7 +276,7 @@ queryscreeninfo(Display *dpy, XRectangle *rect, int screen) {
 #endif
 
 static void 
-set_net_wm_strut_partial_for(Display *dpy, Window w) {
+set_net_wm_strut_partial_for(Display *dpy, Window w, XRectangle si) {
 	unsigned long strut[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 	XWindowAttributes wa;
 
@@ -287,7 +287,7 @@ set_net_wm_strut_partial_for(Display *dpy, Window w) {
 		strut[8] = wa.x;
 		strut[9] = wa.x + wa.width - 1;
 	} 
-	else if((wa.y + wa.height) == DisplayHeight(dpy, DefaultScreen(dpy))) {
+	else if((wa.y + wa.height) == si.height) {
 		strut[3] = wa.height;
 		strut[10] = wa.x;
 		strut[11] = wa.x + wa.width - 1;
@@ -369,7 +369,7 @@ x_create_windows(void) {
 	XFillRectangle(dzen.dpy, dzen.title_win.drawable, dzen.rgc, 0, 0, dzen.title_win.width, dzen.line_height); 
 
 	/* set some hints for windowmanagers*/
-	set_net_wm_strut_partial_for(dzen.dpy, dzen.title_win.win);
+	set_net_wm_strut_partial_for(dzen.dpy, dzen.title_win.win, si);
 
 	/* TODO: Smarter approach to window creation so we can reduce the
 	 *       size of this function. 
