diff --git a/src/stacking.c b/src/stacking.c
index 55f452e76e61d770becf210e168094cbf916e2d0..e934d49d8d0cb9facabe4733a2ddf9bb6b25a3d1 100644
--- a/src/stacking.c
+++ b/src/stacking.c
@@ -467,7 +467,8 @@ clientLower (Client * c, Window wsibling)
                 }
             }
         }
-        if (!client_sibling)
+        if ((!client_sibling) || 
+            (client_sibling && (client_sibling->win_layer < c->win_layer)))
         {
             client_sibling = clientGetBottomMost (screen_info, c->win_layer, c);
         }