diff --git a/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java b/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java
index 92e9f9e67db29c42a8989c9a4f0eb3457beb76e7..dbf7ab3e13e2433d7ad72f53ae6eff4a56c3d459 100644
--- a/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java
+++ b/common/source/java/ch/systemsx/cisd/common/evaluator/Evaluator.java
@@ -23,6 +23,7 @@ import org.python.core.PyCode;
 import org.python.core.PyException;
 import org.python.core.PyFloat;
 import org.python.core.PyInteger;
+import org.python.core.PyJavaInstance;
 import org.python.core.PyLong;
 import org.python.core.PyNone;
 import org.python.core.PyObject;
@@ -195,6 +196,15 @@ public final class Evaluator
         } else if (obj instanceof PyNone)
         {
             return null;
+        } else if (obj instanceof PyJavaInstance)
+        {
+            Object proxy = ((PyJavaInstance) obj).__tojava__(Object.class);
+            if (proxy instanceof Long == false && proxy instanceof Double == false
+                    && proxy instanceof String == false)
+            {
+                return proxy.toString();
+            }
+            return proxy;
         } else
         {
             return obj.toString();