diff --git a/procedures/retrieveEntityOverrides.sql b/procedures/retrieveEntityOverrides.sql
index e070cbcff1d43cff168ecebd42b4041857eba573..d7c181ddcfa5723d2d21a2d9e5e4d380f6eb02d4 100644
--- a/procedures/retrieveEntityOverrides.sql
+++ b/procedures/retrieveEntityOverrides.sql
@@ -35,13 +35,18 @@ retrieveOverridesBody: BEGIN
 
     IF is_feature_config("ENTITY_VERSIONING", "ENABLED") THEN
         IF Version IS NOT NULL THEN
-            SELECT get_head_version(EntityID) = Version INTO IsHead;
+            IF DomainID = 0 THEN
+                SELECT get_head_version(EntityID) = Version INTO IsHead;
+            ELSE
+                SELECT get_head_version(DomainID) = Version INTO IsHead;
+            END IF;
         END IF;
 
         IF IsHead IS FALSE THEN
             SELECT e._iversion INTO IVersion
                 FROM entity_version as e
-                WHERE e.entity_id = EntityID
+                WHERE ((e.entity_id = EntityID AND DomainID = 0)
+                    OR (e.entity_id = DomainID))
                 AND e.version = Version;
 
             IF IVersion IS NULL THEN
diff --git a/procedures/retrieveEntityProperties.sql b/procedures/retrieveEntityProperties.sql
index 4829c53b70c33f57f69feb6bd51e948f010a4f47..01bb6a4a2a0108329844f52c1cfb2ec9533514bb 100644
--- a/procedures/retrieveEntityProperties.sql
+++ b/procedures/retrieveEntityProperties.sql
@@ -37,13 +37,19 @@ retrieveEntityPropertiesBody: BEGIN
 
     IF is_feature_config("ENTITY_VERSIONING", "ENABLED") THEN
         IF Version IS NOT NULL THEN
-            SELECT get_head_version(EntityID) = Version INTO IsHead;
+            IF DomainID = 0 THEN
+                SELECT get_head_version(EntityID) = Version INTO IsHead;
+            ELSE
+                SELECT get_head_version(DomainID) = Version INTO IsHead;
+            END IF;
+
         END IF;
 
         IF IsHead IS FALSE THEN
             SELECT e._iversion INTO IVersion
                 FROM entity_version as e
-                WHERE e.entity_id = EntityID
+                WHERE ((e.entity_id = EntityID AND DomainID = 0)
+                    OR (e.entity_id = DomainID))
                 AND e.version = Version;
 
             IF IVersion IS NULL THEN
diff --git a/tests/test_0_next_patch.sql b/tests/test_0_next_patch.sql
index d52fe5a6b2683c2277930b7f89fe4406aef468d5..ced1a9a82c43ba9d3df076c55fa47ce50e951f8e 100644
--- a/tests/test_0_next_patch.sql
+++ b/tests/test_0_next_patch.sql
@@ -358,6 +358,45 @@ BEGIN
 END //
 
 
+DROP PROCEDURE IF EXISTS retrieveQueryTemplateDef //
+CREATE PROCEDURE retrieveQueryTemplateDef (
+    in EntityID INT UNSIGNED,
+    in Version VARBINARY(255))
+retrieveQueryTemplateDefBody: BEGIN
+
+    DECLARE IVersion INT UNSIGNED DEFAULT NULL;
+    DECLARE IsHead BOOLEAN DEFAULT TRUE;
+
+    IF is_feature_config("ENTITY_VERSIONING", "ENABLED") THEN
+        IF Version IS NOT NULL THEN
+            SELECT get_head_version(EntityID) = Version INTO IsHead;
+        END IF;
+
+        IF IsHead IS FALSE THEN
+            SELECT e._iversion INTO IVersion
+                FROM entity_version as e
+                WHERE e.entity_id = EntityID
+                AND e.version = Version;
+
+            IF IVersion IS NULL THEN
+                -- RETURN EARLY - Version does not exist.
+                LEAVE retrieveQueryTemplateDefBody;
+            END IF;
+
+            SELECT definition
+            FROM archive_query_template_def
+            WHERE id = EntityID
+            AND _iversion = IVersion;
+
+            LEAVE retrieveQueryTemplateDefBody;
+        END IF;
+    END IF;
+
+    SELECT definition
+    FROM query_template_def
+    WHERE id = EntityID;
+
+END //
 
 
 delimiter ;