diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py
index 7acb53f8e1e71b8999e9e9123d1cc0a0bee91f02..4a08c28bd8091425293892384e01d20447413cd5 100644
--- a/loopy/kernel/creation.py
+++ b/loopy/kernel/creation.py
@@ -1004,7 +1004,7 @@ def _find_existentially_quantified_inames(dom_str):
 
 
 def parse_domains(domains, defines):
-    if isinstance(domains, str):
+    if isinstance(domains, (isl.BasicSet, str)):
         domains = [domains]
 
     result = []