diff --git a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
--- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
+++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataToJsonConverter.java
@@ -107,7 +107,8 @@
           }
           final Object value = dataInstance.get(key);
           if (value instanceof BaseOBObject) {
-            addBaseOBObject(jsonObject, null, key, null, (BaseOBObject) value);
+            addBaseOBObject(jsonObject, property, key, property.getReferencedProperty(),
+                (BaseOBObject) value);
           } else {
             Object convertedValue = null;
             if (value != null && property != null && property.isPrimitive()) {
diff --git a/src-db/database/model/tables/AD_SESSION.xml b/src-db/database/model/tables/AD_SESSION.xml
