diff --git a/common/source/java/ch/systemsx/cisd/common/concurrent/MonitoringProxy.java b/common/source/java/ch/systemsx/cisd/common/concurrent/MonitoringProxy.java
index 4cc16b147df1ed959c14f1445a32cf79a7faa63e..8135299e2e7d28b9bece1c04f9b1dedc9e6489db 100644
--- a/common/source/java/ch/systemsx/cisd/common/concurrent/MonitoringProxy.java
+++ b/common/source/java/ch/systemsx/cisd/common/concurrent/MonitoringProxy.java
@@ -154,6 +154,7 @@ public class MonitoringProxy<T>
         public Object invoke(final Object myProxy, final Method method, final Object[] args)
                 throws Throwable
         {
+            final String callingThreadName = Thread.currentThread().getName();
             final Future<Object> future = executor.submit(new NamedCallable<Object>()
                 {
                     public Object call() throws Exception
@@ -177,10 +178,10 @@ public class MonitoringProxy<T>
                     {
                         if (nameOrNull != null)
                         {
-                            return nameOrNull;
+                            return callingThreadName + "::" + nameOrNull;
                         } else
                         {
-                            return describe(method);
+                            return callingThreadName + "::" + describe(method);
                         }
                     }
                 });