diff --git a/src/lua/bsdsocket.lua b/src/lua/bsdsocket.lua
index 6b660b5a58ba748077321cac20d08e5a9872b9ef..c074fe063e7e4fa553a301be76de7b107b982619 100644
--- a/src/lua/bsdsocket.lua
+++ b/src/lua/bsdsocket.lua
@@ -878,6 +878,7 @@ local function tcp_connect_remote(remote, timeout)
         -- Even through the socket is nonblocking, if the server to which we
         -- are connecting is on the same host, the connect is normally
         -- established immediately when we call connect (Stevens UNP).
+        boxerrno(0)
         return s
     end
     local save_errno = s:errno()
diff --git a/test/box/bsdsocket.result b/test/box/bsdsocket.result
index 64f946eae2dd9b14bad9c05bf5ff29732fbc5ac8..419e84a62149b4b4c1ae7f8184eda548e893ed6d 100644
--- a/test/box/bsdsocket.result
+++ b/test/box/bsdsocket.result
@@ -464,7 +464,7 @@ sc:close()
 ---
 - true
 ...
-s = socket('PF_UNIX', 'SOCK_STREAM', 'ip')
+s = socket('PF_UNIX', 'SOCK_STREAM', 0)
 ---
 ...
 s:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
@@ -505,7 +505,7 @@ s:listen(1234)
 ---
 - true
 ...
-sc = socket('PF_UNIX', 'SOCK_STREAM', 'ip')
+sc = socket('PF_UNIX', 'SOCK_STREAM', 0)
 ---
 ...
 sc:nonblock(true)
@@ -857,7 +857,7 @@ socket.tcp_connect('127.0.0.1', porrt), errno() == errno.ECONNREFUSED
 path = '/tmp/tarantool-test-socket'
 ---
 ...
-s = socket('AF_UNIX', 'SOCK_STREAM', 'ip')
+s = socket('AF_UNIX', 'SOCK_STREAM', 0)
 ---
 ...
 s:bind('unix/', path)
@@ -880,9 +880,9 @@ sc ~= nil
 ---
 - true
 ...
-e == 0
+e
 ---
-- true
+- 0
 ...
 sc:close()
 ---
@@ -1025,7 +1025,7 @@ f = nil
 path = '/tmp/tarantool-test-socket'
 ---
 ...
-s = socket('PF_UNIX', 'SOCK_STREAM', 'ip')
+s = socket('PF_UNIX', 'SOCK_STREAM', 0)
 ---
 ...
 s:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
diff --git a/test/box/bsdsocket.test.lua b/test/box/bsdsocket.test.lua
index 5bd72354b5afb7c1789d98ddb6a9e4986c838910..ef953214eba84277d6fce1f437f0041afc821004 100644
--- a/test/box/bsdsocket.test.lua
+++ b/test/box/bsdsocket.test.lua
@@ -278,7 +278,7 @@ socket.tcp_connect('unix/', path), errno() == errno.ECONNREFUSED
 s:listen()
 sc, e = socket.tcp_connect('unix/', path), errno()
 sc ~= nil
-e == 0
+e
 sc:close()
 s:close()
 socket.tcp_connect('unix/', path), errno() == errno.ECONNREFUSED