diff --git a/cpu/esp32/esp-wifi/esp_wifi_netdev.c b/cpu/esp32/esp-wifi/esp_wifi_netdev.c
index 2d55d1233d0016ea272fba3a1085ec79c28907c9..89efab343f97f6afe036f31d4dcecb6294dc80ec 100644
--- a/cpu/esp32/esp-wifi/esp_wifi_netdev.c
+++ b/cpu/esp32/esp-wifi/esp_wifi_netdev.c
@@ -358,7 +358,10 @@ static int _esp_wifi_get(netdev_t *netdev, netopt_t opt, void *val, size_t max_l
         case NETOPT_IS_WIRED:
             return false;
         case NETOPT_LINK_CONNECTED:
-            return dev->connected;
+            assert(max_len == 1);
+            *((netopt_enable_t *)val) = (dev->connected) ? NETOPT_ENABLE
+                                                         : NETOPT_DISABLE;
+            return 1;
         default:
             return netdev_eth_get(netdev, opt, val, max_len);
     }