diff --git a/plugins/transfer/duplicity.sh b/plugins/transfer/duplicity.sh
index 2b1788c16734b024aa1182ddeeea06118b93d3c7..262cad0a4892e5edb7696e8cd952ca467dcc919c 100644
--- a/plugins/transfer/duplicity.sh
+++ b/plugins/transfer/duplicity.sh
@@ -174,9 +174,9 @@
         fi
     }
 
-    # prune old data
+    # forget old data
     # uses global vars from ../../transfer.sh
-    function t_backupDoPrune(){
+    function t_backupDoForget(){
         echo "--- FORGET some data"
         cmd="duplicity remove-older-than $STORAGE_KEEP --force ${ARGS_DEFAULT} ${STORAGE_TARGETPATH}"
         echo $cmd
@@ -187,6 +187,11 @@
         
         t_rcCheckCleanup $myrc
     }
+    # prune old data
+    # uses global vars from ../../transfer.sh
+    function t_backupDoPrune(){
+        echo "--- PRUNE is not implemented yet for duplicity."
+    }
     # verify backup data
     # uses global vars from ../../transfer.sh
     function t_backupDoVerify(){
diff --git a/plugins/transfer/restic.sh b/plugins/transfer/restic.sh
index 9925c420907f3e0548d3ebff4387bf52943aa6a6..3b6c73f6ba850dd663dec1f52b880b511a8b106a 100644
--- a/plugins/transfer/restic.sh
+++ b/plugins/transfer/restic.sh
@@ -170,11 +170,10 @@
         echo
 
     }
-
-    # prune old data
+    # forget data
     # uses global vars from ../../transfer.sh
-    function t_backupDoPrune(){
-        # --------------------
+    function t_backupDoForget(){
+
         echo "--- FORGET some data"
         local _tag=$( _j_getvar ${STORAGEFILE} "${CFGPREFIX}tag")
         
@@ -183,6 +182,7 @@
           --tag $_tag \
           --group-by paths,tags \
           --prune \
+          --path ${BACKUP_DIR} \
           --cleanup-cache"
 
         local _keep
@@ -203,6 +203,10 @@
 
         t_rcCheckCleanup $_myrc
         echo
+    }
+    # prune old data
+    # uses global vars from ../../transfer.sh
+    function t_backupDoPrune(){
 
         # --------------------
         echo "--- PRUNE"
diff --git a/transfer.sh b/transfer.sh
index ab40b40fb62a1ec398d2e6c1d2f91e27c43b4c1a..af2efd39c8d0e399c477448ef58c6f1061291c45 100755
--- a/transfer.sh
+++ b/transfer.sh
@@ -31,6 +31,7 @@
 # 2021-12-02  ah     v2.1  added parameter "prune" to cleanup only
 # 2022-02-10  ah     v2.2  update logging (removing tee)
 # 2022-10-01  ah     v2.3  customize prune and verify action
+# 2022-10-04  ah     v2.4  prune and verify are non directory based
 # ================================================================================
 
 
@@ -406,22 +407,10 @@ function setAction(){
 
         # --- prune
         if [ $doPrune -eq 0 ]; then
-          echo "SKIP prune"
+          echo "SKIP forget data"
         else
-          h3 "`date` PRUNE for ${BACKUP_DIR}"
-          t_backupDoPrune
-          touch ${lastprunefile}
-          echo
-        fi
-        echo
-
-        # --- verify
-        if [ $doVerify -eq 0 ]; then
-          echo "SKIP verify"
-        else
-          h3 "`date` VERIFY for ${BACKUP_DIR}"
-          t_backupDoVerify
-          touch ${lastverifyfile}
+          h3 "`date` FORGET data of ${BACKUP_DIR}"
+          t_backupDoForget
           echo
         fi
         echo
@@ -433,6 +422,28 @@ function setAction(){
       fi 
       echo
     done
+
+    # --- prune
+    if [ $doPrune -eq 0 ]; then
+      echo "SKIP prune"
+    else
+      h3 "`date` PRUNE repository data"
+      t_backupDoPrune
+      touch ${lastprunefile}
+      echo
+    fi
+    echo
+
+    # --- verify
+    if [ $doVerify -eq 0 ]; then
+      echo "SKIP verify"
+    else
+      h3 "`date` VERIFY repository data"
+      t_backupDoVerify
+      touch ${lastverifyfile}
+      echo
+    fi
+    echo
  
     echo $rc > ${rcfile}
     exit $rc