         digitalWriteFast(C64_CTS, HIGH);  // C64 is inverted
     
         DisplayBoth(F("Wi-Fi Init..."));
-    
+
+        WifiSerial.begin(WiFly_BAUD_RATE);
+
+#ifndef HAYES
+        BAUD_RATE = EEPROM.read(ADDR_BAUD);
+        switch (BAUD_RATE)
+        {
+          case 0:
+          BAUD_RATE = 2400;
+          break;
+
+          case 1:
+          BAUD_RATE = 9600;
+          break;
+
+          default:
+          BAUD_RATE = 2400;
+        }
+#endif  
+
+        C64Serial.begin(BAUD_RATE);
+        C64Serial.setTimeout(1000);
+
         boolean ok = wifly.begin(&WifiSerial, &C64Serial);
     
         if (ok)

    Modem_S0_AutoAnswer = false;
    Modem_S2_EscapeCharacter = '+';
    Modem_isDcdInverted = false;
    delay(2000);
}

// Save settings to profile.  Future:  profile #1 using ADDR_MODEM_ECHO1 etc.

        Modem_Recovery++;
        EEPROM.write(ADDR_RECOVERY, Modem_Recovery);        
#endif  // HAYES

        // Always setup pins for flow control
        pinModeFast(C64_RTS, INPUT);
