diff --git a/src/python/dm/common/constants/dmProcessingStatus.py b/src/python/dm/common/constants/dmProcessingStatus.py
index 3cc2825741ee4ac3ef890bda6b6656cf30867c81..e84703efd9f6d07676de3c4f1d3e95b38e13dc0b 100755
--- a/src/python/dm/common/constants/dmProcessingStatus.py
+++ b/src/python/dm/common/constants/dmProcessingStatus.py
@@ -34,5 +34,6 @@ DM_INACTIVE_PROCESSING_STATUS_LIST = [
 DM_ACTIVE_PROCESSING_STATUS_LIST = [
     DM_PROCESSING_STATUS_PENDING,
     DM_PROCESSING_STATUS_RUNNING,
+    DM_PROCESSING_STATUS_FINALIZING,
     DM_PROCESSING_STATUS_ABORTING
 ]
diff --git a/src/python/dm/common/objects/daqInfo.py b/src/python/dm/common/objects/daqInfo.py
index 468f4ea7eac00bb402a18407a3cdc3f423274d45..b45d6cc51ba20787d5975655fcbc5cf0759b1258 100755
--- a/src/python/dm/common/objects/daqInfo.py
+++ b/src/python/dm/common/objects/daqInfo.py
@@ -78,7 +78,7 @@ class DaqInfo(DmObject):
 
         if self.get('endTime'):
             daqStatus = dmProcessingStatus.DM_PROCESSING_STATUS_FINALIZING
-            if nCompletedFiles == nFiles:
+            if nCompletedFiles >= nFiles:
                 daqStatus = dmProcessingStatus.DM_PROCESSING_STATUS_DONE
                 if nProcessingErrors:
                     daqStatus = dmProcessingStatus.DM_PROCESSING_STATUS_FAILED
diff --git a/src/python/dm/common/objects/uploadInfo.py b/src/python/dm/common/objects/uploadInfo.py
index a119b0ae1521ef50c182b4fb4f1cfd6e63c5a9b1..5fd41280cfef38444e6b83933451e5f8129c5c25 100755
--- a/src/python/dm/common/objects/uploadInfo.py
+++ b/src/python/dm/common/objects/uploadInfo.py
@@ -73,7 +73,7 @@ class UploadInfo(DmObject):
         startTime = self.get('startTime', now)
         runTime = now - startTime
         endTime = None
-        if nCompletedFiles == nFiles:
+        if nCompletedFiles == nFiles and uploadStatus != dmProcessingStatus.DM_PROCESSING_STATUS_PENDING:
             uploadStatus = 'done'
             if nProcessingErrors:
                 uploadStatus = 'failed'
@@ -84,7 +84,7 @@ class UploadInfo(DmObject):
                 endTime = lastFileProcessingErrorTime
 
         if nCancelledFiles > 0 and nCancelledFiles+nCompletedFiles == nFiles:
-            uploadStatus = 'aborted'
+            uploadStatus = dmProcessingStatus.DM_PROCESSING_STATUS_ABORTED
             endTime = self.get('lastFileProcessingCancelledTime', now)
 
         if endTime:
diff --git a/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py b/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py
index f6b6106973d6dbd0820c3e6c6306993f24b69fdf..4c79ea8cbb919916d607dc8e71d5acd2b9b11d5b 100755
--- a/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py
+++ b/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py
@@ -2,6 +2,7 @@
 
 import os
 import time
+from dm.common.constants import dmProcessingStatus
 from dm.common.utility.loggingManager import LoggingManager
 from dm.common.objects.observedFile import ObservedFile
 from dm.common.utility.timeUtility import TimeUtility
@@ -123,7 +124,7 @@ class MongoDbFileCatalogPlugin(FileProcessor):
             fileInfo['daqInfo'] = daqInfo
             fileInfo['uploadId'] = uploadId
 
-            if uploadInfo.get('status') != 'aborting':
+            if uploadInfo.get('status') != dmProcessingStatus.DM_PROCESSING_STATUS_ABORTING:
                 self.processFile(fileInfo)
                 nProcessedFiles += 1
             else:
diff --git a/src/python/dm/daq_web_service/service/impl/uploadTracker.py b/src/python/dm/daq_web_service/service/impl/uploadTracker.py
index 89e57447f3d529bcc0fc3f0699cf3f04d63d74b9..7634ed34e6186f7223aad1426a19b90e150270be 100755
--- a/src/python/dm/daq_web_service/service/impl/uploadTracker.py
+++ b/src/python/dm/daq_web_service/service/impl/uploadTracker.py
@@ -25,7 +25,7 @@ class UploadTracker(ObjectTracker):
             uploadInfo = self.get(uploadId)
             if uploadInfo is not None:
                 uploadInfo.updateStatus()
-                if uploadInfo.get('status') == dmProcessingStatus.DM_PROCESSING_STATUS_RUNNING:
+                if uploadInfo.get('status') in dmProcessingStatus.DM_ACTIVE_PROCESSING_STATUS_LIST:
                     raise ObjectAlreadyExists('Upload id %s is already active for experiment %s in data directory %s.' % (uploadId, experimentName, dataDir))
                 del self.activeUploadDict[activeUploadKey]