diff --git a/src/libnptm/tra_subs.cpp b/src/libnptm/tra_subs.cpp
index 8aa135255e1968a8d3141be9cefe1cdd4cf6f797..47c2b28edfc1fb784f06712f8f70baff9830b5ad 100644
--- a/src/libnptm/tra_subs.cpp
+++ b/src/libnptm/tra_subs.cpp
@@ -81,7 +81,8 @@ void ffrf(
       int ltpo = lpo + l40;
       int imm = l40 * lpo;
       for (int ilmp40 = 1; ilmp40 <= 3; ilmp40++) {
-	if ((l40 == 1 && ilmp40 == 1) || (l40 == cil->le && ilmp40 == 3)) continue; // ilmp40 loop
+	// NOTE: if trapping execution diverges, replace "break" with "continue"
+	if ((l40 == 1 && ilmp40 == 1) || (l40 == cil->le && ilmp40 == 3)) break; // ilmp40 loop
 	int lmpml = ilmp40 - 2;
 	int lmp = l40 + lmpml;
 	uimmp = uim * (-1.0 * lmpml);
@@ -134,7 +135,8 @@ void ffrf(
       int ltpo = lpo + l80;
       int imm = l80 * lpo;
       for (int ilmp80 = 1; ilmp80 <= 3; ilmp80++) {
-	if ((l80 == 1 && ilmp80 == 1) || (l80 == cil->le && ilmp80 == 3)) continue; // ilmp80 loop
+	// NOTE: if trapping execution diverges, replace "break" with "continue"
+	if ((l80 == 1 && ilmp80 == 1) || (l80 == cil->le && ilmp80 == 3)) break; // ilmp80 loop
 	int lmpml = ilmp80 - 2;
 	int lmp = l80 + lmpml;
 	uimmp = uim * (-1.0 * lmpml);