diff --git a/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java
index 3a42e0dd0e0042b978462ba3e9f6f53575497858..e407935f22040af51245f7e4aede4ae8c325b63e 100644
--- a/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTransaction.java
@@ -27,8 +27,10 @@ package org.caosdb.server.database.backend.transaction;
 import java.util.LinkedList;
 import java.util.List;
 import org.apache.shiro.subject.Subject;
+
 import org.caosdb.server.database.BackendTransaction;
 import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.accessControl.Principal;
 import org.caosdb.server.datatype.CollectionValue;
 import org.caosdb.server.datatype.IndexedSingleValue;
 import org.caosdb.server.datatype.ReferenceValue;
@@ -234,7 +236,7 @@ public class RetrieveFullEntityTransaction extends BackendTransaction {
     final RetrieveEntity ref = new RetrieveEntity(value.getId());
 
     if (this.subject != null) {
-        System.out.println(this.subject.getUsername())
+      System.out.println(((Principal) this.subject.getPrincipal()).getUsername());
       // check whether the referenced entity may be retrieved
       final EntityACL entityACL = ref.getEntityACL();
       if (!entityACL.isPermitted(this.subject, EntityPermission.RETRIEVE_ENTITY)) {