diff --git a/handlers/dup.in b/handlers/dup.in
index c8930176a95b77c79e82d08358356e33fe3dc80c..0b14ef91f766e36994ca2894ff496a7cd3ecdeb6 100644
--- a/handlers/dup.in
+++ b/handlers/dup.in
@@ -163,6 +163,16 @@ if [ "$incremental" == "no" ]; then
    else
       execstr_command="full"
    fi
+else
+   if [ "$keep" != "yes" ]; then
+      fullifolderthan="30D"
+      if [ "`echo $keep | tr -d 0-9`" == "" ]; then
+         #let "fullifolderthan = keep / 2"
+         fullifolderthan=$(($keep / 2))
+         fullifolderthan="${fullifolderthan}D"
+      fi
+      execstr_options="${execstr_options} --full-if-older-than $fullifolderthan"
+   fi
 fi
 
 ### Cleanup options