--- trunk/src/clock/clock.c	(revision 652)
+++ trunk/src/clock/clock.c	(working copy)
@@ -23,6 +23,8 @@
 #include <cairo-xlib.h>
 #include <pango/pangocairo.h>
 #include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
 
 #include "window.h"
 #include "server.h"
@@ -98,6 +103,10 @@
 	// remember old_sec because after suspend/hibernate the clock should be updated directly, and not
 	// on next minute change
 	time_t old_sec = time_clock.tv_sec;
+
+	// Little hack to wait executed commands in clock_action avoiding zombies
+	waitpid(-1, NULL, WNOHANG);
+
 	gettimeofday(&time_clock, 0);
 	if (time_clock.tv_sec % 60 == 0 || time_clock.tv_sec - old_sec > 60) {
 		int i;
