diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java
index 9051a4a7af9f30378e4ec43d917a3dc0a21d5f45..fc7c680c3a2da20714103275ecbb2a2e2eeedd21 100644
--- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java
+++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java
@@ -549,11 +549,15 @@ final class EntityPropertyTypeDAO extends AbstractDAO implements IEntityProperty
         assert propertyTypeCode != null : "Unspecified property type.";
 
         String query =
-                String.format("SELECT count(pv) FROM %s pa join pa.propertyValues pv "
-                        + "WHERE pa.propertyTypeInternal.simpleCode = ? "
-                        + "AND pa.entityTypeInternal.code = ?",
+                String.format("SELECT count(pv.id) FROM %s pa join %s pv "
+                            + " ON pa.id = pv.entityTypePropertyType.id "
+                            + " WHERE pa.propertyTypeInternal.simpleCode = ? "
+                            + " AND pa.entityTypeInternal.code = ?",
                         entityKind
-                                .getEntityTypePropertyTypeAssignmentClass().getSimpleName());
+                                .getEntityTypePropertyTypeAssignmentClass().getSimpleName(),
+                        entityKind.getEntityPropertyClass().getSimpleName()
+                        );
+
         return ((Long) (getHibernateTemplate().find(query,
                 toArray(propertyTypeCode, entityTypeCode)).get(0))).intValue();
     }