diff --git a/dmenu.c b/dmenu.c
index b635469..bbdb42f 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -179,7 +179,7 @@ drawmenu(void)
 	if (lines > 0) {
 		/* draw vertical list */
 		for (item = curr; item != next; item = item->right)
-			drawitem(item, x - promptw, y += bh, mw);
+			drawitem(item, x - promptw, y += bh, mw - x);
 	} else if (matches) {
 		/* draw horizontal list */
 		x += inputw;