diff --git a/common/source/java/ch/systemsx/cisd/common/serviceconversation/client/ClientMessenger.java b/common/source/java/ch/systemsx/cisd/common/serviceconversation/client/ClientMessenger.java
index 1b231ad90f6fb2be9a8d446316112b0d697389b2..97b86447259db96f864621494e13fe5c850371a8 100644
--- a/common/source/java/ch/systemsx/cisd/common/serviceconversation/client/ClientMessenger.java
+++ b/common/source/java/ch/systemsx/cisd/common/serviceconversation/client/ClientMessenger.java
@@ -82,12 +82,6 @@ class ClientMessenger implements IServiceConversation
                 nextOutgoingMessageIndex(), false, message));
     }
 
-    public void terminate()
-    {
-        checkServiceException();
-        transportToService.send(ServiceMessage.terminate(serviceConversationId));
-    }
-
     private void checkServiceException() throws ServiceExecutionException
     {
         if (serviceExceptionSignaled.getAndSet(false))
@@ -107,6 +101,11 @@ class ClientMessenger implements IServiceConversation
         }
     }
 
+    public void terminate()
+    {
+        transportToService.send(ServiceMessage.terminate(serviceConversationId));
+    }
+
     public <T extends Serializable> T receive(Class<T> messageClass)
     {
         try