diff --git a/src/main/java/org/caosdb/server/query/Backreference.java b/src/main/java/org/caosdb/server/query/Backreference.java
index e5d73ebaf825693f4dbf9fbe12b7fd794a81e8ec..684beef2e016203f3e6f64fd66ccefb750d11981 100644
--- a/src/main/java/org/caosdb/server/query/Backreference.java
+++ b/src/main/java/org/caosdb/server/query/Backreference.java
@@ -103,9 +103,12 @@ public class Backreference implements EntityFilterInterface, QueryInterface {
     return "@(" + getEntity() + "," + getProperty() + ")";
   }
 
-  /** */
   @Override
   public void apply(final QueryInterface query) throws QueryException {
+    if (query.isVersioned() && hasSubProperty()) {
+      throw new UnsupportedOperationException(
+          "Versioned queries are not supported for subqueries yet. Please file a feature request.");
+    }
     final long t1 = System.currentTimeMillis();
     this.query = query;
     this.targetSet = query.getTargetSet();
diff --git a/src/main/java/org/caosdb/server/query/POV.java b/src/main/java/org/caosdb/server/query/POV.java
index 01860ba518df4453ff17012e75641e6e6a05a446..3aebeef26e0d06ecdf37ffee337b6ddbcc4e8b30 100644
--- a/src/main/java/org/caosdb/server/query/POV.java
+++ b/src/main/java/org/caosdb/server/query/POV.java
@@ -155,7 +155,7 @@ public class POV implements EntityFilterInterface {
           this.unit = getUnit(unitStr);
         } catch (final ParserException e) {
           e.printStackTrace();
-          throw new UnsupportedOperationException();
+          throw new UnsupportedOperationException("Could not parse the unit.");
         }
 
         this.stdUnitSig = this.unit.normalize().getSignature();
@@ -214,6 +214,10 @@ public class POV implements EntityFilterInterface {
 
   @Override
   public void apply(final QueryInterface query) throws QueryException {
+    if (query.isVersioned() && hasSubProperty()) {
+      throw new UnsupportedOperationException(
+          "Versioned queries are not supported for subqueries yet. Please file a feature request.");
+    }
     final long t1 = System.currentTimeMillis();
     try {
       this.connection = query.getConnection();
diff --git a/src/main/java/org/caosdb/server/query/SubProperty.java b/src/main/java/org/caosdb/server/query/SubProperty.java
index 9edfe795a56214710e14580138c0f154b37ea3fd..4668935e56f0057d3d0fe927aa0a729669e7e0f6 100644
--- a/src/main/java/org/caosdb/server/query/SubProperty.java
+++ b/src/main/java/org/caosdb/server/query/SubProperty.java
@@ -165,11 +165,6 @@ public class SubProperty implements QueryInterface, EntityFilterInterface {
 
   @Override
   public boolean isVersioned() {
-    boolean is_versioned = this.query.isVersioned();
-    if (is_versioned) {
-      throw new QueryException(
-          "Versioned queries are not supported for subqueries yet. Please file a feature request.");
-    }
-    return is_versioned;
+    return this.query.isVersioned();
   }
 }