diff --git a/src/video_core/shader/control_flow.cpp b/src/video_core/shader/control_flow.cpp
index 7b424d65d8ff73a238dff91f05b1ffce5ffd8a47..bdf9d4dd43e26b13ca6b3e3208d1d564b28fbfed 100644
--- a/src/video_core/shader/control_flow.cpp
+++ b/src/video_core/shader/control_flow.cpp
@@ -139,6 +139,8 @@ std::pair<ParseResult, ParseInfo> ParseCode(CFGRebuildState& state, u32 address)
 
     while (true) {
         if (offset >= end_address) {
+            // ASSERT_OR_EXECUTE can't be used, as it ignores the break
+            ASSERT_MSG(false, "Shader passed the current limit!");
             parse_info.branch_info.address = exit_branch;
             parse_info.branch_info.ignore = false;
             break;