diff --git a/client.c b/client.c
index 956b13f..dce06e9 100644
--- a/client.c
+++ b/client.c
@@ -84,7 +84,7 @@ void
 focus(Client *c) {
 	Client *old;
 
-	if(!issel)
+	if(!issel || (c && !isvisible(c)))
 		return;
 	if(!sel)
 		sel = c;