             goto gameWon;
           }
         }
-  
-        if (board[j] == oppToken) {
+        else if (board[j] == oppToken) {
           if (addScore > 0) {
             // A mix of "O" and "X" - no-one can win here
             addScore = 0;

    
    byte i = lineStart[line];
    byte lineStep = lineSteps[line];
  
    // Scan each group of 4 positions on the "win" line
    for (byte rep = 0; rep < lineReps[line]; rep++) {
      
      byte j = i;
      int addScore = 0;

        bestScore = thisScore;
        bestCol = col;
      }
      // remove the counter again
      boardCopy[counterPosition] = '.';
    }
  }
  return bestScore;
}





