diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino
index f93790251faddf90b6d5c6285b12ee6375a1b4ea..16653ac80e932cabe50fc52244ca2b9667d604bc 100644
--- a/ampel-firmware/ampel-firmware.ino
+++ b/ampel-firmware/ampel-firmware.ino
@@ -56,10 +56,9 @@
  * and define your credentials and parameters in 'config.h'.
  */
 
-iotwebconf::WifiAuthInfo* failedConnection() {
+void failedConnection() {
   Serial.println("Seriously. What???");
   led_effects::showKITTWheel(color::red);
-  return nullptr;
 }
 
 /*****************************************************************
diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp
index 7a09dedd6caab8ec2f402dce991266ff40e37fae..f45dc60ce39125d7d03c4faeb591fd97997e7180 100644
--- a/ampel-firmware/web_config.cpp
+++ b/ampel-firmware/web_config.cpp
@@ -158,12 +158,16 @@ namespace web_config {
     iotWebConf->doLoop(); // Listen for HTTP requests from clients
   }
 
-  void setWifiConnectionCallback(void (*function)()) {
-    iotWebConf->setWifiConnectionCallback(function);
+  void setWifiConnectionCallback(void (*success_function)()) {
+    iotWebConf->setWifiConnectionCallback(success_function);
   }
 
-  void setWifiFailCallback(WifiAuthInfo* (*function)()) {
-    iotWebConf->setWifiConnectionFailedHandler(function);
+  void setWifiFailCallback(void (*fail_function)()) {
+    std::function<WifiAuthInfo* ()> fail_and_return_null = [fail_function]() {
+      fail_function();
+      return nullptr;
+    };
+    iotWebConf->setWifiConnectionFailedHandler(fail_and_return_null);
   }
 
   void initialize() {
diff --git a/ampel-firmware/web_config.h b/ampel-firmware/web_config.h
index af7d3827ede6db7ac7f2c7088a40ede77a679592..3af2cbaf3b7462ac3edd2ac66618a04cb8ca1b93 100644
--- a/ampel-firmware/web_config.h
+++ b/ampel-firmware/web_config.h
@@ -2,7 +2,6 @@
 #define AMPEL_WEB_CONFIG_H_
 
 #define STRING_LEN 64
-#include <IotWebConf.h>
 
 #if defined(ESP8266)
 #  include <ESP8266WebServer.h>
@@ -51,8 +50,8 @@ namespace config {
 
 namespace web_config {
   void initialize();
-  void setWifiConnectionCallback(void (*function)());
-  void setWifiFailCallback(iotwebconf::WifiAuthInfo* (*function)());
+  void setWifiConnectionCallback(void (*success_function)());
+  void setWifiFailCallback(void (*fail_function)());
   void update();
   //TODO: Add saveConfig(), for e.g. after custom setters. Or simply reset after each configchange?