diff --git a/server/lib/classes/cron.d/100-monitor_system_update.inc.php b/server/lib/classes/cron.d/100-monitor_system_update.inc.php
index 35338dc21d04efc318c44f5fa9551f09e2fc5e98..2eea785234c89af63851965e17015dcb6aad8b50 100644
--- a/server/lib/classes/cron.d/100-monitor_system_update.inc.php
+++ b/server/lib/classes/cron.d/100-monitor_system_update.inc.php
@@ -82,7 +82,7 @@ class cronjob_monitor_system_update extends cronjob {
 			 * Then test the upgrade.
 			 * if there is any output, then there is a needed update
 			 */
-			$aptData = shell_exec('apt-get -s -qq dist-upgrade');
+			$aptData = shell_exec('while fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do sleep 2; done; apt-get -s -qq dist-upgrade');
 			if ($aptData == '') {
 				/* There is nothing to update! */
 				$state = 'ok';