diff --git a/src/focus.c b/src/focus.c
index eb5b1b9fe7ceeef7093968b0869a9cd86c418599..23828fd2c0f110f993c865cbe2b2cb442266cb0a 100644
--- a/src/focus.c
+++ b/src/focus.c
@@ -622,6 +622,12 @@ clientSetFocus (ScreenInfo *screen_info, Client *c, guint32 timestamp, unsigned
             pending_focus = c;
             sendClientMessage (screen_info, c->window, WM_TAKE_FOCUS, timestamp);
         }
+
+        /* Send client ping if supported to detect stalled apps */
+        if (timestamp != CurrentTime)
+        {
+            clientSendNetWMPing (c, timestamp);
+        }
     }
     else
     {