diff --git a/Makefile.dep b/Makefile.dep
index 218e5aaa830c9a22e4b10afb851981f91dff8684..a1a5e4d6fb57d9e317d0d5aa72e209944f9dd0d0 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -365,7 +365,7 @@ ifneq (,$(filter lwip_sixlowpan,$(USEMODULE)))
   USEMODULE += lwip_ipv6_autoconfig
 endif
 
-ifneq (,$(filter lwip_ipv6_autoconfig,$(USEMODULE)))
+ifneq (,$(filter lwip_ipv6_autoconfig lwip_ipv6_mld,$(USEMODULE)))
   USEMODULE += lwip_ipv6
 endif
 
diff --git a/Makefile.pseudomodules b/Makefile.pseudomodules
index 2bc202a645bdc75a1ce2ee37fe90c54b101ff5e9..56f82598ff2e16d408b26a68958dd13333230d3d 100644
--- a/Makefile.pseudomodules
+++ b/Makefile.pseudomodules
@@ -25,6 +25,7 @@ PSEUDOMODULES += lwip_dhcp
 PSEUDOMODULES += lwip_ethernet
 PSEUDOMODULES += lwip_igmp
 PSEUDOMODULES += lwip_ipv6_autoconfig
+PSEUDOMODULES += lwip_ipv6_mld
 PSEUDOMODULES += lwip_raw
 PSEUDOMODULES += lwip_sixlowpan
 PSEUDOMODULES += lwip_stats
diff --git a/pkg/lwip/include/lwipopts.h b/pkg/lwip/include/lwipopts.h
index 5e29634c34153778cbb692cc468af461d0c0dbda..c92c23cf4619fc06026ba15c92458c8a31cb0f2b 100644
--- a/pkg/lwip/include/lwipopts.h
+++ b/pkg/lwip/include/lwipopts.h
@@ -74,6 +74,12 @@ extern "C" {
 #define LWIP_IPV6_AUTOCONFIG    (0)
 #endif /* MODULE_LWIP_IPV6_AUTOCONFIG */
 
+#ifdef MODULE_LWIP_IPV6_MLD
+#define LWIP_IPV6_MLD           (1)
+#else  /* MODULE_LWIP_IPV6 */
+#define LWIP_IPV6_MLD           (0)
+#endif /* MODULE_LWIP_IPV6 */
+
 #ifdef MODULE_LWIP_IPV6
 #define LWIP_IPV6               (1)
 #else  /* MODULE_LWIP_IPV6 */