diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java
index 08a6c839369afab7ccf889e8568ed20ec47a9eed..2139de359ac89d8c147c658fdbe4141bcfc8d94d 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ProtXMLUploader.java
@@ -113,14 +113,24 @@ public class ProtXMLUploader implements IDataSetUploader
 
     public void commit()
     {
-        currentResultDataSetUploader.commit();
-        currentResultDataSetUploader = null;
+        try
+        {
+            currentResultDataSetUploader.commit();
+        } finally
+        {
+            currentResultDataSetUploader = null;
+        }
     }
 
     public void rollback()
     {
-        currentResultDataSetUploader.rollback();
-        currentResultDataSetUploader = null;
+        try
+        {
+            currentResultDataSetUploader.rollback();
+        } finally
+        {
+            currentResultDataSetUploader = null;
+        }
     }
 
     protected ResultDataSetUploader createUploader()
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java
index 09c66999f61221650444491e84d01fa9d0120c83..440b23de9aafc7a13bdcbe5396d7fea6e54a714e 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/ResultDataSetUploader.java
@@ -117,8 +117,11 @@ class ResultDataSetUploader extends AbstractHandler
     {
         try
         {
-            connection.rollback();
-            connection.close();
+            if (connection.isClosed() == false)
+            {
+                connection.rollback();
+                connection.close();
+            }
         } catch (SQLException ex)
         {
             throw CheckedExceptionTunnel.wrapIfNecessary(ex);