diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/MonitorStarter.java b/datamover/source/java/ch/systemsx/cisd/datamover/MonitorStarter.java
index 739aec3c49be161dd128204396c2ec0ef099a1ac..530b1781e8055b945ab62cd498e2f3e03ad9fe47 100644
--- a/datamover/source/java/ch/systemsx/cisd/datamover/MonitorStarter.java
+++ b/datamover/source/java/ch/systemsx/cisd/datamover/MonitorStarter.java
@@ -87,8 +87,8 @@ public class MonitorStarter
                         manualInterventionFilter, cleansingFilter);
 
         final DirectoryScanningTimerTask movingTask =
-                new DirectoryScanningTimerTask(incomingStore.getPath(), new QuietPeriodFileFilter(parameters,
-                        factory), pathHandler);
+                new DirectoryScanningTimerTask(incomingStore.getPath(), new QuietPeriodFileFilter(parameters, factory),
+                        pathHandler);
         final Timer movingTimer = new Timer("Mover of Incomming Data");
         schedule(movingTimer, movingTask, 0, parameters.getCheckIntervalMillis(), parameters.getTreatIncomingAsRemote());
     }
@@ -98,14 +98,16 @@ public class MonitorStarter
     {
         IPathHandler processMoved =
                 createProcessMovedFile(readyToMoveDir, tempDir, parameters.tryGetExtraCopyStore(), factory);
-        IPathHandler moveAndProcess = createMoveAndProcess(sourceHost, processMoved);
+        IPathHandler moveAndProcess =
+                createMoveAndProcess(sourceHost, processMoved, parameters.getTreatIncomingAsRemote());
         IPathHandler manualInterventionMover = createPathMoverToLocal(sourceHost, manualInterventionDir);
         CleansingPathHandlerDecorator cleansingOrMover =
                 new CleansingPathHandlerDecorator(cleansingFilter, moveAndProcess);
         return new GatePathHandlerDecorator(manualInterventionFilter, cleansingOrMover, manualInterventionMover);
     }
 
-    private IPathHandler createMoveAndProcess(String sourceHost, final IPathHandler processMoved)
+    private IPathHandler createMoveAndProcess(String sourceHost, final IPathHandler processMoved,
+            final boolean isIncomingRemote)
     {
         final IPathHandler moveFromIncoming = createPathMoverToLocal(sourceHost, inProgressDir);
         IPathHandler moveAndProcess = new IPathHandler()
@@ -119,9 +121,15 @@ public class MonitorStarter
                         File movedFile = new File(inProgressDir, path.getName());
                         File markFile = new File(inProgressDir, Constants.IS_FINISHED_PREFIX + path.getName());
                         assert movedFile.exists();
-                        assert markFile.exists();
-                        markFile.delete(); // process even if mark file could not be deleted
+                        if (isIncomingRemote)
+                        {
+                            assert markFile.exists();
+                        }
                         ok = processMoved.handle(movedFile);
+                        if (isIncomingRemote)
+                        {
+                            markFile.delete(); // process even if mark file could not be deleted
+                        }
                     }
                     return ok;
                 }