diff --git a/src/ProtocolManager.cpp b/src/ProtocolManager.cpp
index fc72bd967d01e9fb9b5a067a16f22001f2f3e135..a8eaadb22db09ab9cb1276206e23cdc9da7f719a 100644
--- a/src/ProtocolManager.cpp
+++ b/src/ProtocolManager.cpp
@@ -59,6 +59,7 @@ void ProtocolManager::updateNewList() throw(std::runtime_error)
         << boost::posix_time::to_simple_string(m_lastTimestamp) << endl;
 
     m_newFileRowset_sp = m_dBManager_sp->retrieveNewFiles(m_lastTimestamp);
+
     m_newFileRowsetIt = m_newFileRowset_sp->begin();
 }
 
@@ -70,9 +71,8 @@ void ProtocolManager::updateFailedList() throw(std::runtime_error)
     DEBUG_STREAM << "ProtocolManager::updateFailedList()" << endl;
 
     m_failedFileRowset_sp = m_dBManager_sp->retrieveFailedFiles();
-    m_failedFileRowsetIt = m_failedFileRowset_sp->begin();
 
-    m_recoveryModeTime = boost::posix_time::second_clock::local_time();
+    m_failedFileRowsetIt = m_failedFileRowset_sp->begin();
 }
 
 //==============================================================================
@@ -129,9 +129,13 @@ bool ProtocolManager::isRecoveryTimeElapsed()
 
     boost::posix_time::time_duration diff = now - m_recoveryModeTime;
 
+    DEBUG_STREAM << "ProtocolManager::isRecoveryTimeElapsed() " << diff.total_seconds()
+        << "/" << (int)m_configuration_sp->getRecoveryTime() << endl;
+
     if(diff.total_seconds() > (int)m_configuration_sp->getRecoveryTime())
     {
         DEBUG_STREAM << "ProtocolManager::isRecoveryTimeElapsed() true" << endl;
+        m_recoveryModeTime = now;
         return true;
     }
     else