diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py
index 5427d96cae18bbf7e85b2837353e924bf5c2837b..cdede223de62aa513707fe078169001e7aa863f1 100644
--- a/loopy/kernel/creation.py
+++ b/loopy/kernel/creation.py
@@ -825,6 +825,7 @@ def parse_instructions(instructions, defines):
             else:
                 assert else_match is not None
                 if not last_if_predicates:
+                    import pdb; pdb.set_trace()
                     raise LoopyError("'else' without 'if'/'elif' encountered")
                 additional_preds = frozenset()
 
diff --git a/test/test_loopy.py b/test/test_loopy.py
index debfd8051995f74dc2d5d24ba7b2d6f96005402a..4221feb792550a6c8b243f0f648dfff6d4654fac 100644
--- a/test/test_loopy.py
+++ b/test/test_loopy.py
@@ -1811,6 +1811,8 @@ def test_if_else(ctx_factory):
                     else
                         a[i] = 3
                     end
+                else
+                    a[i] = 4
                 end
             end
             """
@@ -1818,8 +1820,9 @@ def test_if_else(ctx_factory):
 
     evt, (out,) = knl(queue, out_host=True)
 
-    out_ref = np.empty(50)
-    out_ref[::6] = 15
+    out_ref = np.zeros(50)
+    out_ref[1::2] = 4
+    out_ref[0::6] = 15
     out_ref[4::6] = 11
     out_ref[2::6] = 3