@@ 588,16 588,15 @@ chvt(const Arg *arg)
 void
 checkidleinhibitor(struct wlr_surface *exclude)
 {
+	Client *c;
 	int inhibited = 0;
 	struct wlr_idle_inhibitor_v1 *inhibitor;
 	wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) {
-		Client *c;
-		if (exclude == inhibitor->surface)
-			continue;
 		/* In case we can't get a client from the surface assume that it is
 		 * visible, for example a layer surface */
-		if (!(c = client_from_wlr_surface(inhibitor->surface))
-				|| VISIBLEON(c, c->mon)) {
+		if (exclude != inhibitor->surface
+				&& (!(c = client_from_wlr_surface(inhibitor->surface))
+					|| VISIBLEON(c, c->mon))) {
 			inhibited = 1;
 			break;
 		}