diff --git a/swaybar/main.c b/swaybar/main.c
index 75d043b0..74930075 100644
--- a/swaybar/main.c
+++ b/swaybar/main.c
@@ -690,10 +690,9 @@ void poll_for_update() {
 		if (dirty && window_prerender(window) && window->cairo) {
 			render();
 			window_render(window);
-		}
-
-		if (wl_display_dispatch(registry->display) == -1) {
-			break;
+			if (wl_display_dispatch(registry->display) == -1) {
+				break;
+			}
 		}
 
 		dirty = false;