diff --git a/src/tint/lang/spirv/reader/parser/branch_test.cc b/src/tint/lang/spirv/reader/parser/branch_test.cc
index d0fc55d..a10d2df 100644
--- a/src/tint/lang/spirv/reader/parser/branch_test.cc
+++ b/src/tint/lang/spirv/reader/parser/branch_test.cc
@@ -1379,7 +1379,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1470,7 +1470,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1523,7 +1523,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1576,7 +1576,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1630,7 +1630,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1684,7 +1684,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1737,7 +1737,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1790,7 +1790,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1854,7 +1854,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1918,7 +1918,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -1987,7 +1987,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2054,7 +2054,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2118,7 +2118,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2182,7 +2182,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2249,7 +2249,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2379,7 +2379,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2450,7 +2450,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2505,7 +2505,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2566,7 +2566,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         if true [t: $B6, f: $B7] {  # if_2
@@ -2628,7 +2628,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         break_if false  # -> [t: exit_loop loop_1, f: $B2]
@@ -2682,7 +2682,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %2:bool = not false
@@ -2750,7 +2750,7 @@
                     exit_loop  # loop_2
                   }
                 }
-                continue  # -> $B7
+                unreachable
               }
               $B7: {  # continuing
                 next_iteration  # -> $B6
@@ -2762,7 +2762,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2837,7 +2837,7 @@
                     exit_loop  # loop_2
                   }
                 }
-                continue  # -> $B7
+                unreachable
               }
               $B7: {  # continuing
                 next_iteration  # -> $B6
@@ -2849,7 +2849,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -2924,7 +2924,7 @@
                     exit_loop  # loop_2
                   }
                 }
-                continue  # -> $B7
+                unreachable
               }
               $B7: {  # continuing
                 next_iteration  # -> $B6
@@ -2936,7 +2936,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -3003,7 +3003,7 @@
                     exit_loop  # loop_2
                   }
                 }
-                continue  # -> $B7
+                unreachable
               }
               $B7: {  # continuing
                 %2:bool = not true
@@ -3016,7 +3016,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -3078,7 +3078,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B5
+        unreachable
       }
       $B5: {  # continuing
         next_iteration  # -> $B4
@@ -3142,7 +3142,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B5
+        unreachable
       }
       $B5: {  # continuing
         next_iteration  # -> $B4
@@ -3437,7 +3437,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -3729,7 +3729,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %4:i32 = spirv.add<i32> 2i, 2i
@@ -3790,7 +3790,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %4:i32 = spirv.add<i32> 3i, 3i
@@ -3851,7 +3851,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %4:i32 = spirv.add<i32> 3i, 3i
@@ -4025,7 +4025,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %3:i32 = spirv.add<i32> 2i, 2i
@@ -4084,7 +4084,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %3:i32 = spirv.add<i32> 2i, 2i
@@ -4145,7 +4145,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %4:i32 = spirv.add<i32> 3i, 3i
@@ -4206,7 +4206,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %4:i32 = spirv.add<i32> 3i, 3i
@@ -4607,7 +4607,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %2:bool = not true
@@ -4940,7 +4940,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -4995,7 +4995,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         next_iteration  # -> $B2
@@ -5506,7 +5506,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %5:i32 = spirv.add<i32> 3i, 3i
@@ -5570,7 +5570,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %6:i32 = spirv.add<i32> 1i, 2i
@@ -5804,7 +5804,7 @@
             exit_loop  # loop_1
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %6:i32 = spirv.add<i32> 1i, 3i
@@ -5872,7 +5872,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %6:i32 = spirv.add<i32> 1i, 3i
@@ -5932,7 +5932,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %5:i32 = spirv.add<i32> 3i, 3i
@@ -5996,7 +5996,7 @@
             unreachable
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %6:i32 = spirv.add<i32> 1i, 2i
@@ -6476,7 +6476,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %6:i32 = spirv.add<i32> 1i, 3i
@@ -6544,7 +6544,7 @@
             continue  # -> $B3
           }
         }
-        continue  # -> $B3
+        unreachable
       }
       $B3: {  # continuing
         %6:i32 = spirv.add<i32> 1i, 3i
diff --git a/src/tint/lang/spirv/reader/parser/parser.cc b/src/tint/lang/spirv/reader/parser/parser.cc
index 872c48b..893370d 100644
--- a/src/tint/lang/spirv/reader/parser/parser.cc
+++ b/src/tint/lang/spirv/reader/parser/parser.cc
@@ -1481,14 +1481,9 @@
                 EmitBlockParent(loop->Continuing(), *bb_continue);
             }
 
-            // Add the body terminator after processing the continuing block in
-            // case we've propagated values through the continue.
+            // Add the body terminator if necessary
             if (!loop->Body()->Terminator()) {
-                if (loop->Continuing()->Params().IsEmpty()) {
-                    loop->Body()->Append(b_.Continue(loop));
-                } else {
-                    loop->Body()->Append(b_.Unreachable());
-                }
+                loop->Body()->Append(b_.Unreachable());
             }
             if (!loop->Continuing()->Terminator()) {
                 loop->Continuing()->Append(b_.NextIteration(loop));
