diff --git a/ampel-firmware/ampel-firmware.h b/ampel-firmware/ampel-firmware.h
index e60b3a779ae3375b791d085122e1d2197c452b0c..e477735e63c1ad71e03a855eee7c5e69821184b8 100644
--- a/ampel-firmware/ampel-firmware.h
+++ b/ampel-firmware/ampel-firmware.h
@@ -25,6 +25,5 @@ void wifiConnected();
 void wifiFailed();
 void keepServicesAlive();
 void checkFlashButton();
-void checkSerialInput();
 
 #endif
diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino
index b50d4a9e99a3e3b4daca94840ccb9ed79ee07d1d..09bd1052ce33cf323f5a1fca24c2ae23a45c8d25 100644
--- a/ampel-firmware/ampel-firmware.ino
+++ b/ampel-firmware/ampel-firmware.ino
@@ -128,7 +128,7 @@ void loop() {
   // Short press for night mode, Long press for calibration.
   checkFlashButton();
 
-  checkSerialInput();
+  sensor_console::checkSerialInput();
 
   if (sensor::processData()) {
     if (config::is_csv_active()) {
@@ -188,12 +188,6 @@ void wifiFailed() {
  * Helper functions                                              *
  *****************************************************************/
 
-void checkSerialInput() {
-  while (Serial.available() > 0) {
-    sensor_console::processSerialInput(Serial.read());
-  }
-}
-
 /**
  * Checks if flash button has been pressed:
  *   If not, do nothing.
diff --git a/ampel-firmware/sensor_console.cpp b/ampel-firmware/sensor_console.cpp
index f6e182784bd8755983fcc822ed95b98af5deb9bd..5b13396e0dbd37f26ae58cc809932c021a00d52e 100644
--- a/ampel-firmware/sensor_console.cpp
+++ b/ampel-firmware/sensor_console.cpp
@@ -149,6 +149,12 @@ namespace sensor_console {
     }
   }
 
+  void checkSerialInput() {
+    while (Serial.available() > 0) {
+      sensor_console::processSerialInput(Serial.read());
+    }
+  }
+
   /*
    * Tries to find the corresponding callback for a given command. Name and parameter type should fit.
    */
diff --git a/ampel-firmware/sensor_console.h b/ampel-firmware/sensor_console.h
index 9594317b575bf53db0da92f34e62613423fe6a75..a2eb4616a74ead87fa0b29956384a6423bc931ee 100644
--- a/ampel-firmware/sensor_console.h
+++ b/ampel-firmware/sensor_console.h
@@ -12,7 +12,7 @@ namespace sensor_console {
   void defineIntCommand(const char *name, void (*function)(int32_t), const __FlashStringHelper *doc_fstring);
   void defineStringCommand(const char *name, void (*function)(char*), const __FlashStringHelper *doc_fstring);
 
-  void processSerialInput(const uint8_t in_byte);
+  void checkSerialInput();
 
   void execute(const char *command_line);
 }
diff --git a/ampel-firmware/wifi_util.cpp b/ampel-firmware/wifi_util.cpp
index da4ca65c64e16412e63c84348f530fb0cd72596f..e18058d842ea9ef7e7063d3d6e7911296e5f2a04 100644
--- a/ampel-firmware/wifi_util.cpp
+++ b/ampel-firmware/wifi_util.cpp
@@ -35,6 +35,7 @@ namespace wifi {
   void tryConnection() {
     for (int i = 0; i <= config::wifi_timeout + 5; i++) {
       web_config::update();
+      sensor_console::checkSerialInput(); // To allow reset or ssid ... during startup
       if (isAccessPoint()) {
         led_effects::alert(0x1cff68);
       } else if (connected()) {