/* Get next entry */
                E2 = CS_GetNextEntry (S, I);
 
-       /* Check if we have a jump or branch, and a matching label, which
-        * is not attached to the jump itself
+       /* Check if we have a jump or branch without a label attached, and
+         * a jump target, which is not attached to the jump itself
         */
-               if (E2 != 0                     &&
+               if (E2 != 0                     &&
            (E2->Info & OF_UBRA) != 0   &&
-           E2->JumpTo                  &&
+            !CE_HasLabel (E2)           &&
+           E2->JumpTo                  &&
            E2->JumpTo->Owner != E2) {
 
            /* Get the entry preceeding the branch target */
                     ++Changes;
 
                 } else if ((E->Info & OF_CBRA) == 0     &&
-                           (!RegAUsed (S, I) || !ChgA)) {          
+                           (!RegAUsed (S, I) || !ChgA)) {
 
                     /* We can remove the PHA and PLA instructions */
                     CS_DelEntry (S, Pop);