diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index a56e28413f63993689e76518d4e85ae38c888ef1..a3026126b45c777bd9a2f0c09bade8b763b88960 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -6509,7 +6509,7 @@ struct WS_protoent* WINAPI WS_getprotobyname(const char* name)
         unsigned int i;
         for (i = 0; i < ARRAY_SIZE(protocols); i++)
         {
-            if (strcasecmp( protocols[i].names[0], name )) continue;
+            if (_strnicmp( protocols[i].names[0], name, -1 )) continue;
             retval = WS_create_pe( protocols[i].names[0], (char **)protocols[i].names + 1,
                                    protocols[i].prot );
             break;