diff --git a/stub/cbits/stub.cpp b/stub/cbits/stub.cpp
index e99691d02f3b684e3f0a37ab988fda62a767195c..1decbd7f31105b48d33c89fe68e545cbb35b0253 100644
--- a/stub/cbits/stub.cpp
+++ b/stub/cbits/stub.cpp
@@ -511,8 +511,7 @@ void serve(void) {
         if (sock == NULL){ sock = "/tmp/ghc-debug"; }
         strcpy(local.sun_path, sock);
         unlink(local.sun_path);
-        int len = strlen(local.sun_path) + sizeof(local.sun_family);
-        if (bind(s, (struct sockaddr *) &local, len) != 0) {
+        if (bind(s, (struct sockaddr *) &local, sizeof(local)) != 0) {
             barf("bind failed");
         }
     }