diff --git a/include/usbmuxd.h b/include/usbmuxd.h
index 0cb7cab..6d035a2 100644
--- a/include/usbmuxd.h
+++ b/include/usbmuxd.h
@@ -170,7 +170,8 @@
  * @param tcp_port TCP port number on device, in range 0-65535.
  *	common values are 62078 for lockdown, and 22 for SSH.
  *
- * @return socket file descriptor of the connection, or -1 on error
+ * @return socket file descriptor of the connection, or a negative errno
+ *    value on error.
  */
 int usbmuxd_connect(const uint32_t handle, const unsigned short tcp_port);
 
diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
index 26d0465..537c351 100644
--- a/src/libusbmuxd.c
+++ b/src/libusbmuxd.c
@@ -1374,14 +1374,14 @@
 	int sfd;
 	int tag;
 	int connected = 0;
-	uint32_t res = -1;
+	int result = EBADF;
 
 retry:
 	sfd = connect_usbmuxd_socket();
 	if (sfd < 0) {
-		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n",
-				__func__, strerror(errno));
-		return sfd;
+		result = errno;
+		LIBUSBMUXD_DEBUG(1, "%s: Error: Connection to usbmuxd failed: %s\n", __func__, strerror(result));
+		return -result;
 	}
 
 	tag = ++use_tag;
@@ -1389,6 +1389,7 @@
 		LIBUSBMUXD_DEBUG(1, "%s: Error sending connect message!\n", __func__);
 	} else {
 		// read ACK
+		uint32_t res = -1;
 		LIBUSBMUXD_DEBUG(2, "%s: Reading connect result...\n", __func__);
 		if (usbmuxd_get_result(sfd, tag, &res, NULL) == 1) {
 			if (res == 0) {
@@ -1401,6 +1402,13 @@
 					goto retry;
 				}
 				LIBUSBMUXD_DEBUG(1, "%s: Connect failed, Error code=%d\n", __func__, res);
+				if (res == RESULT_CONNREFUSED) {
+					result = ECONNREFUSED;
+				} else if (res == RESULT_BADDEV) {
+					result = ENODEV;
+				} else {
+					result = EBADF;
+				}
 			}
 		}
 	}
@@ -1411,7 +1419,7 @@
 
 	socket_close(sfd);
 
-	return -1;
+	return -result;
 }
 
 USBMUXD_API int usbmuxd_disconnect(int sfd)
