diff --git a/server/lib/classes/cron.d/200-logfiles.inc.php b/server/lib/classes/cron.d/200-logfiles.inc.php
index b229c76a8acd93f78bad8985dc583a1017ca0e99..e2d9e9bb9ec0c1df7dd237e6d3f49aea07ee1a75 100644
--- a/server/lib/classes/cron.d/200-logfiles.inc.php
+++ b/server/lib/classes/cron.d/200-logfiles.inc.php
@@ -240,6 +240,18 @@ class cronjob_logfiles extends cronjob {
              */
 			$sql = "DELETE FROM sys_log WHERE tstamp < ? AND server_id != 0";
 			$app->dbmaster->query($sql, $tstamp);
+			
+			/*
+			 * now delete those entries without a linked datalog entry (datalog_id = 0)
+			 */
+			$sql = "DELETE FROM sys_log WHERE tstamp < ? AND server_id = 0 AND datalog_id = 0";
+			$app->dbmaster->query($sql, $tstamp);
+
+			/*
+			 * now delete those entries with a linked datalog entry (datalog_id != 0) only if older than 30 days
+			 */
+			$sql = "DELETE FROM sys_log WHERE tstamp < ? AND server_id = 0 AND datalog_id != 0";
+			$app->dbmaster->query($sql, $tstamp - (3600 * 24 * 23));
 
 			/*
              * Delete all remote-actions "done" and older than 7 days