diff --git a/src/python/dm/common/processing/fileProcessingThread.py b/src/python/dm/common/processing/fileProcessingThread.py
index f535b56fafc795645219726c86d236db36821778..0e9b8a25a7b28040cbb01ef302721d22ce8060a5 100755
--- a/src/python/dm/common/processing/fileProcessingThread.py
+++ b/src/python/dm/common/processing/fileProcessingThread.py
@@ -36,6 +36,7 @@ class FileProcessingThread(threading.Thread):
                 self.logger.debug('File %s processing is cancelled' % (filePath))
                 endProcessingTime = time.time() 
                 statusMonitor.fileProcessingCancelled(filePath, endProcessingTime) 
+                statusMonitor.updateStatus()
                 return 
             self.logger.debug('Starting to process file %s' % filePath)
             startProcessingTime = fileInfo.get('startProcessingTime', time.time())
@@ -67,6 +68,7 @@ class FileProcessingThread(threading.Thread):
                         endProcessingTime = time.time() 
                         if statusMonitor:
                             statusMonitor.fileProcessed(filePath, endProcessingTime) 
+                            statusMonitor.updateStatus()
                 except Exception, ex:
                     self.logger.exception(ex)
                     processingError = '%s processing error: %s' % (processorName, str(ex))
@@ -84,6 +86,7 @@ class FileProcessingThread(threading.Thread):
                         endProcessingTime = time.time() 
                         if statusMonitor:
                             statusMonitor.fileProcessingError(filePath, processingError, endProcessingTime) 
+                            statusMonitor.updateStatus()
                         self.logger.debug('No more %s retries left for file %s, remaining plugins will not process it' % (processorName, filePath))
                         return 
                     else:
diff --git a/src/python/dm/daq_web_service/service/impl/fileSystemObserver.py b/src/python/dm/daq_web_service/service/impl/fileSystemObserver.py
index b3900e5a86bffc8283fdde17b61a1b5befe4394b..74ef566be7e151ba2a401a9a8e3f87a94760519d 100755
--- a/src/python/dm/daq_web_service/service/impl/fileSystemObserver.py
+++ b/src/python/dm/daq_web_service/service/impl/fileSystemObserver.py
@@ -108,9 +108,11 @@ class FileSystemObserver(threading.Thread,Singleton):
             observedFile = ObservedFile(filePath=filePath, dataDirectory=dataDirectory, experiment=experiment)
             observedFile['daqInfo'] = daqInfo.toDictWithOriginalKeys()
             observedFile['statusMonitor'] = daqInfo
+            self.observedFileMap[filePath] = observedFile
+            self.logger.debug('New observed file: %s', filePath)
+        else:
+            self.logger.debug('Observed file updated: %s', filePath)
         observedFile.setLastUpdateTimeToNow()
-        self.observedFileMap[filePath] = observedFile
-        self.logger.debug('Observed file updated: %s', filePath)
        
     @ThreadingUtility.synchronize
     def checkObservedFilesForProcessing(self):