diff --git a/src/caosdb/common/models.py b/src/caosdb/common/models.py
index 7473c0410615038716f4b60a37e36b7d29b8eaaf..be0497f22dce813e20e7cda3bea3c6e7e770796f 100644
--- a/src/caosdb/common/models.py
+++ b/src/caosdb/common/models.py
@@ -51,10 +51,11 @@ from caosdb.connection.encode import MultipartParam, multipart_encode
 from caosdb.exceptions import (AmbiguityException,
                                AuthorizationException,
                                CaosDBException, ConnectionException,
-                               ConsistencyError,
+                               ConsistencyError, EmptyUniqueQueryError,
                                EntityDoesNotExistError, EntityError,
                                EntityHasNoDatatypeError,
-                               TransactionError, UniqueNamesError,
+                               TransactionError, QueryNotUniqueError,
+                               UniqueNamesError,
                                UnqualifiedParentsError,
                                UnqualifiedPropertiesError,
                                URITooLongException)
@@ -1038,7 +1039,7 @@ class Entity(object):
 
                 return c[0]
             else:
-                raise AmbiguityException("This retrieval was not unique!!!")
+                raise QueryNotUniqueError("This retrieval was not unique!!!")
         else:
             return Container().append(self).retrieve(
                 unique=unique, raise_exception_on_error=raise_exception_on_error, flags=flags)
@@ -3675,12 +3676,11 @@ class Query():
 
         if unique:
             if len(cresp) > 1 and raise_exception_on_error:
-                raise AmbiguityException(
+                raise QueryNotUniqueError(
                     "Query '{}' wasn't unique.".format(self.q))
             elif len(cresp) == 0 and raise_exception_on_error:
-                ee = EntityDoesNotExistError(
+                raise EmptyUniqueQueryError(
                     "Query '{}' found no results.".format(self.q))
-                raise TransactionError(ee)
             elif len(cresp) == 1:
                 r = cresp[0]
                 r.messages.extend(cresp.messages)