diff --git a/src/openvpn/ps.c b/src/openvpn/ps.c
index 4ca3a12..129f65c 100644
--- a/src/openvpn/ps.c
+++ b/src/openvpn/ps.c
@@ -234,7 +234,12 @@
         }
         else
         {
-            socketpair(PF_UNIX, SOCK_DGRAM, 0, sd_null);
+            if (!socketpair(AF_UNIX, SOCK_DGRAM, 0, sd_null))
+            {
+                msg(M_WARN|M_ERRNO, "PORT SHARE: socketpair failed -- unable to communicate with background process "
+                    "(%d, %d)", sd, sd_send);
+                goto done;
+            }
             memcpy(CMSG_DATA(h), &sd_null[0], sizeof(sd_null[0]));
         }
 
@@ -246,6 +251,7 @@
                 );
         }
 
+done:
         close_socket_if_defined(sd_null[0]);
         close_socket_if_defined(sd_null[1]);
         free(mesg.msg_control);
