diff --git a/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp b/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp
index e4b3ae298e00795372d1edd72f744ca1e959fb11..4fffde8837104f7ecc90c71ad39d0e84d9ab1b79 100644
--- a/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp
+++ b/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp
@@ -241,7 +241,7 @@ bool EtherCAT::startBus(bool createDevices)
     /// setting the data pointer in the functional devices
     for (AbstractFunctionalDevicePtr& device : functionalDevices)
     {
-        ARMARX_INFO << "init for " << device->getClassName();
+        ARMARX_INFO << "init for device type '" << device->getClassName() << "'";
         device->initData();
     }
 
@@ -735,7 +735,6 @@ void EtherCAT::errorHandling()
 
         ARMARX_RT_LOGF_WARN("RECOVERY - Wkc: %s - %d/%d, state: %s - iterations without error: %d", ((lastWorkCounter < expectedWKC) ? "NOT OK" : "OK"),
                             lastWorkCounter, expectedWKC, (ec_group[currentGroup].docheckstate ? "NOT OK" : "OK"), noErrorIterations);
-        noErrorIterations = 0;
 
         //actually there is something wrong so we have an error lets see if we can find an fix it
         error = true;
@@ -768,6 +767,8 @@ void EtherCAT::errorHandling()
                 }
             }
         }
+        noErrorIterations = 0;
+
         /* one ore more slaves are not responding */
         //This is hard SOEM code not the easy stuff, but works...
         ec_group[currentGroup].docheckstate = FALSE;