diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java
index 93cf420f4fd0b4d81e28002a5cc74048a52e9577..a1905d2aeb8c95acc237c2baf4449f9cedb93f57 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java
@@ -237,6 +237,7 @@ public class DataSetStorageAlgorithmRunner<T extends DataSetInformation>
             {
                 rollbackDelegate.markReadyForRecovery(this, ex);
             }
+            operationLog.error("Error during storage confirmation", ex);
             dssRegistrationLog.log(ex, "Error during storage confirmation");
             return false;
             // There is nothing we can do without recovery
@@ -266,6 +267,7 @@ public class DataSetStorageAlgorithmRunner<T extends DataSetInformation>
             postPreRegistrationHooks.executePreRegistration(persistentMapHolder);
         } catch (Throwable throwable)
         {
+            operationLog.error("Error in execution of pre registration hooks", throwable);
             dssRegistrationLog.log(throwable, "Error in execution of pre registration hooks");
 
             rollbackDuringPreRegistration(throwable);
@@ -533,6 +535,7 @@ public class DataSetStorageAlgorithmRunner<T extends DataSetInformation>
 
         } catch (final Throwable throwable)
         {
+            operationLog.error("Error in registrating data in application server", throwable);
             dssRegistrationLog.log("Error in registrating data in application server");
             if (shouldUseAutoRecovery() && storageRecoveryManager.canRecoverFromError(throwable))
             {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java
index 00489bb7553738030ed5216840f004c53d5e2173..cd6223a9d0b19a40a73c99b31c20ab56e6b7f54c 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java
@@ -479,6 +479,7 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem
             Throwable ex, ErrorType errorType)
     {
 
+        operationLog.error("The error ", ex);
         boolean useAutoRecovery = autoRecoverySettings == AutoRecoverySettings.USE_AUTO_RECOVERY;
 
         IDataSetStorageRecoveryManager storageRecoveryManager =
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java
index 38736ed23ef07cb5d345391a0d4ae86fe1b51241..b6672fbc4cfe8e7f5991186304882dca2fc2ed2f 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java
@@ -448,7 +448,7 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
                 // implemented like this to avoid dependency to jmock in production
                 throw (Error) error;
             }
-
+            operationLog.error("Uncaught error during recovery", error);
             // in this case we should ignore, and run the recovery again after some time
             logger.log(error, "Uncaught error during recovery");
         }