/*****************************************************************************/
-/*                                         Helpers                                  */
+/*                                         Helpers                                  */
 /*****************************************************************************/
 
 
                 /* While searching, track register load insns, so we can tell
                  * what is in a register once pushax is encountered.
                  */
+                if (CE_HasLabel (E)) {
+                    /* Currently we don't track across branches */
+                    InvalidateLoadRegInfo (&Data.Lhs.A);
+                    InvalidateLoadRegInfo (&Data.Lhs.X);
+                    InvalidateLoadRegInfo (&Data.Lhs.Y);
+                }
                 if (CE_IsCallTo (E, "pushax")) {
                     Data.PushIndex = I;
                     State = FoundPush;
                  * follow and in the meantime, track zeropage usage and check
                  * for code that will disable us from translating the sequence.
                  */
+                if (CE_HasLabel (E)) {
+                    /* Currently we don't track across branches */
+                    InvalidateLoadRegInfo (&Data.Rhs.A);
+                    InvalidateLoadRegInfo (&Data.Rhs.X);
+                    InvalidateLoadRegInfo (&Data.Rhs.Y);
+                }
                 if (E->OPC == OP65_JSR) {
 
                     /* Subroutine call: Check if this is one of the functions,