diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index f1ea825976c78349c208dafb30483c6e31c9f4bb..98eb2f90760aa17d3f9e07787b24c87d90f8edf0 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -2766,7 +2766,7 @@ INT WINAPI WSASendTo( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount,
 
             if (timeout != -1)
             {
-                timeout -= timeout_start - GetTickCount();
+                timeout -= GetTickCount() - timeout_start;
                 if (timeout < 0) timeout = 0;
             }