diff --git a/src/client.c b/src/client.c
index 9a78904eacc0b3b4c1f9d7a9677c4cee1018772b..38c00fb8ec6c70c120fd0bcf73bd13facc65c45e 100644
--- a/src/client.c
+++ b/src/client.c
@@ -2245,13 +2245,13 @@ clientHideSingle (Client * c, gboolean change_state)
         /* Adjust to urgency state as the window is not visible */
         clientUpdateUrgency (c);
     }
+    XUnmapWindow (display_info->dpy, c->window);
+    XUnmapWindow (display_info->dpy, c->frame);
     if (change_state)
     {
         FLAG_SET (c->flags, CLIENT_FLAG_ICONIFIED);
         setWMState (display_info, c->window, IconicState);
     }
-    XUnmapWindow (display_info->dpy, c->window);
-    XUnmapWindow (display_info->dpy, c->frame);
     clientSetNetState (c);
 }
 
diff --git a/src/compositor.c b/src/compositor.c
index acd338cb7dbf1d00d20e2cdcffcb165dd00d56ca..e6f172330ac130b9fa1e793e22fb6a167eaa1d4e 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2125,25 +2125,16 @@ compositorHandleShapeNotify (DisplayInfo *display_info, XShapeEvent *ev)
     {
         if (ev->kind == ShapeBounding)
         {
-            if ((ev->shaped) && !(cw->shaped))
-            {
-                cw->shaped = TRUE;
-                resize_win (cw, cw->attr.x, cw->attr.y, 
-                                ev->width + ev->x, ev->height + ev->y, 
-                                cw->attr.border_width, TRUE);
-            }
-            else if (!(ev->shaped) && (cw->shaped))
+            if (!(ev->shaped) && (cw->shaped))
             {
-                resize_win (cw, cw->attr.x, cw->attr.y, 
-                                ev->width + ev->x, ev->height + ev->y, 
-                                cw->attr.border_width, TRUE);
                 cw->shaped = FALSE;
             }
-            else
+            resize_win (cw, cw->attr.x, cw->attr.y, 
+                            ev->width + ev->x, ev->height + ev->y, 
+                            cw->attr.border_width, TRUE);
+            if ((ev->shaped) && !(cw->shaped))
             {
-                resize_win (cw, cw->attr.x, cw->attr.y, 
-                                ev->width + ev->x, ev->height + ev->y, 
-                                cw->attr.border_width, TRUE);
+                cw->shaped = TRUE;
             }
         }
     }