diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino
index a9db9aeb35e0542959f480f32bcebc73b8d5cfc1..f93790251faddf90b6d5c6285b12ee6375a1b4ea 100644
--- a/ampel-firmware/ampel-firmware.ino
+++ b/ampel-firmware/ampel-firmware.ino
@@ -56,6 +56,12 @@
  * and define your credentials and parameters in 'config.h'.
  */
 
+iotwebconf::WifiAuthInfo* failedConnection() {
+  Serial.println("Seriously. What???");
+  led_effects::showKITTWheel(color::red);
+  return nullptr;
+}
+
 /*****************************************************************
  * Setup                                                         *
  *****************************************************************/
@@ -89,10 +95,12 @@ void setup() {
     Serial.println(WiFi.localIP());
   });
 
-  web_config::setWifiConnectionFailedCallback([]() {
-    led_effects::showKITTWheel(color::red);
-    Serial.println(F("Connection to WiFi failed"));
-  });
+  web_config::setWifiFailCallback(failedConnection);
+
+//  web_config::setWifiConnectionFailedCallback([]() {
+//    led_effects::showKITTWheel(color::red);
+//    Serial.println(F("Connection to WiFi failed"));
+//  });
 #endif
 
   pinMode(0, INPUT); // Flash button (used for forced calibration)
diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp
index f7ef657203f96841922149d0e9930ed6cc6f9383..7a09dedd6caab8ec2f402dce991266ff40e37fae 100644
--- a/ampel-firmware/web_config.cpp
+++ b/ampel-firmware/web_config.cpp
@@ -162,11 +162,8 @@ namespace web_config {
     iotWebConf->setWifiConnectionCallback(function);
   }
 
-  void setWifiConnectionFailedCallback(void (*function)()) {
-    iotWebConf->setWifiConnectionFailedHandler([&function]() -> WifiAuthInfo* {
-      function();
-      return NULL;
-    });
+  void setWifiFailCallback(WifiAuthInfo* (*function)()) {
+    iotWebConf->setWifiConnectionFailedHandler(function);
   }
 
   void initialize() {
diff --git a/ampel-firmware/web_config.h b/ampel-firmware/web_config.h
index 87c66058cdf785e1b4925490da489ef4c34c052a..af7d3827ede6db7ac7f2c7088a40ede77a679592 100644
--- a/ampel-firmware/web_config.h
+++ b/ampel-firmware/web_config.h
@@ -2,6 +2,7 @@
 #define AMPEL_WEB_CONFIG_H_
 
 #define STRING_LEN 64
+#include <IotWebConf.h>
 
 #if defined(ESP8266)
 #  include <ESP8266WebServer.h>
@@ -51,7 +52,7 @@ namespace config {
 namespace web_config {
   void initialize();
   void setWifiConnectionCallback(void (*function)());
-  void setWifiConnectionFailedCallback(void (*function)());
+  void setWifiFailCallback(iotwebconf::WifiAuthInfo* (*function)());
   void update();
   //TODO: Add saveConfig(), for e.g. after custom setters. Or simply reset after each configchange?