diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py
index 534983e25ae24ea3a0fef6208674d4de82bec0a9..c358f63e0b5f29379657eac02288230d268abf2f 100644
--- a/loopy/kernel/creation.py
+++ b/loopy/kernel/creation.py
@@ -162,8 +162,19 @@ def parse_insn(insn):
         raise RuntimeError("insn parse error")
 
     from loopy.symbolic import parse
-    lhs = parse(groups["lhs"])
-    rhs = parse(groups["rhs"])
+    try:
+        lhs = parse(groups["lhs"])
+    except:
+        print("While parsing left hand side '%s', "
+                "the following error occurred:" % groups["lhs"])
+        raise
+
+    try:
+        rhs = parse(groups["rhs"])
+    except:
+        print("While parsing right hand side '%s', "
+                "the following error occurred:" % groups["rhs"])
+        raise
 
     if insn_match is not None:
         insn_deps = set()