diff --git a/cdist/conf/type/__cron/explorer/entry b/cdist/conf/type/__cron/explorer/entry
index 15d9bdba..c3bf02d2 100644
--- a/cdist/conf/type/__cron/explorer/entry
+++ b/cdist/conf/type/__cron/explorer/entry
@@ -22,4 +22,4 @@
 name="$__object_name"
 user="$(cat "$__object/parameter/user")"
 
-crontab -u $user -l 2>/dev/null | grep "# $name\$" | head -n 1 || true
+crontab -u $user -l 2>/dev/null | grep "# $name\$" || true
diff --git a/cdist/conf/type/__cron/gencode-remote b/cdist/conf/type/__cron/gencode-remote
index 712eb1a1..77a63b9b 100755
--- a/cdist/conf/type/__cron/gencode-remote
+++ b/cdist/conf/type/__cron/gencode-remote
@@ -78,8 +78,9 @@ DONE
 
 case "$state_should" in
     present)
+        # if we insert new entry, filter also all entrys out with the same id 
         echo "("
-        echo "crontab -u $user -l 2>/dev/null | grep -v -E \"$filter\" 2>/dev/null || true"
+        echo "crontab -u $user -l 2>/dev/null | grep -v -E \"$filter\" | grep -v \"# $name\\$\" 2>/dev/null || true"
         echo "echo '$entry'"
         echo ") | crontab -u $user -"
     ;;