diff --git a/tests/test_ASTNodeDataTypeBuilder.cpp b/tests/test_ASTNodeDataTypeBuilder.cpp
index b6dc2cac85ab783eba86ba4b57a59a38edd6aac2..2a5777b32272c8c10ba39543c30b103d4f629439 100644
--- a/tests/test_ASTNodeDataTypeBuilder.cpp
+++ b/tests/test_ASTNodeDataTypeBuilder.cpp
@@ -1180,6 +1180,30 @@ let f: R -> X, x -> x;
         REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast},
                             "invalid type identifier, 'X' was previously defined as a 'R'");
       }
+
+      SECTION("invalid tuple type domain")
+      {
+        std::string_view data = R"(
+let f: (R) -> R, x -> x;
+)";
+        TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
+        auto ast = ASTBuilder::build(input);
+        ASTSymbolTableBuilder{*ast};
+
+        REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, "cannot use tuple (R) as a domain for user functions");
+      }
+
+      SECTION("invalid tuple type in compound domain")
+      {
+        std::string_view data = R"(
+let f: N*(R^2) -> R, (x,t) -> x;
+)";
+        TAO_PEGTL_NAMESPACE::string_input input{data, "test.pgs"};
+        auto ast = ASTBuilder::build(input);
+        ASTSymbolTableBuilder{*ast};
+
+        REQUIRE_THROWS_WITH(ASTNodeDataTypeBuilder{*ast}, "cannot use tuple (R^2) as a domain for user functions");
+      }
     }
   }