diff --git a/src/client.h b/src/client.h
index 3df3b076253d0355846376173abfcf07b4ab1d5d..8e8e6afe4a0c744157db6222a7370de065e89f83 100644
--- a/src/client.h
+++ b/src/client.h
@@ -156,7 +156,8 @@
 #define WINDOW_REGULAR_FOCUSABLE        (WINDOW_NORMAL | \
                                          WINDOW_DIALOG | \
                                          WINDOW_MODAL_DIALOG)
-#define WINDOW_TYPE_DONT_FOCUS          (WINDOW_DOCK)
+#define WINDOW_TYPE_DONT_FOCUS          (WINDOW_SPLASHSCREEN | \
+                                         WINDOW_DOCK)
 
 
 
diff --git a/src/focus.c b/src/focus.c
index 26f942b6e803efff99ee96fde47c32ec92376599..9cbc7255746500c5c4654d853f88b8192ad2f37b 100644
--- a/src/focus.c
+++ b/src/focus.c
@@ -72,8 +72,7 @@ clientGetTopMostFocusable (ScreenInfo *screen_info, int layer, Client * exclude)
         TRACE ("*** stack window \"%s\" (0x%lx), layer %i", c->name,
             c->window, (int) c->win_layer);
 
-        if ((c->type & (WINDOW_SPLASHSCREEN | WINDOW_DOCK | WINDOW_DESKTOP))
-            || ((layer != WIN_LAYER_DESKTOP) && (c->type & WINDOW_DESKTOP)))
+        if (c->type & WINDOW_TYPE_DONT_FOCUS)
         {
             continue;
         }