diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 091877986d67f19948f2aa323c18cc7a893f7f86..e6a6973eb4e6849e7839a85590e6fb471748bd29 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -3524,8 +3524,12 @@ int WINAPI WS_setsockopt(SOCKET s, int level, int optname,
     case WS_IPPROTO_IPV6:
         switch(optname)
         {
+#ifdef IPV6_ADD_MEMBERSHIP
         case WS_IPV6_ADD_MEMBERSHIP:
+#endif
+#ifdef IPV6_DROP_MEMBERSHIP
         case WS_IPV6_DROP_MEMBERSHIP:
+#endif
         case WS_IPV6_MULTICAST_IF:
         case WS_IPV6_MULTICAST_HOPS:
         case WS_IPV6_MULTICAST_LOOP: