diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
index a8586f2..90ae6e6 100644
--- a/src/libusbmuxd.c
+++ b/src/libusbmuxd.c
@@ -180,8 +180,10 @@
 
 	recv_len = socket_receive_timeout(sfd, &hdr, sizeof(hdr), 0, timeout);
 	if (recv_len < 0) {
+		DEBUG(1, "%s: Error receiving packet: %d\n", __func__, recv_len);
 		return recv_len;
 	} else if ((size_t)recv_len < sizeof(hdr)) {
+		DEBUG(1, "%s: Received packet is too small, got %d bytes!\n", __func__, recv_len);
 		return recv_len;
 	}
 
@@ -319,17 +321,10 @@
 		*result_plist = NULL;
 	}
 
-	if ((recv_len = receive_packet(sfd, &hdr, (void**)&res, 5000)) < 0) {
-		DEBUG(1, "%s: Error receiving packet: %d\n", __func__, recv_len);
-		if (res)
-			free(res);
-		return recv_len;
-	}
-	if ((size_t)recv_len < sizeof(hdr)) {
-		DEBUG(1, "%s: Received packet is too small!\n", __func__);
-		if (res)
-			free(res);
-		return -EPROTO;
+	recv_len = receive_packet(sfd, &hdr, (void**)&res, 5000);
+	if (recv_len < 0 || (size_t)recv_len < sizeof(hdr)) {
+		free(res);
+		return (recv_len < 0 ? recv_len : -EPROTO);
 	}
 
 	if (hdr.message == MESSAGE_RESULT) {
@@ -665,6 +660,7 @@
 
 	/* block until we receive something */
 	if (receive_packet(sfd, &hdr, &payload, 0) < 0) {
+		DEBUG(1, "%s: Error in usbmuxd connection, disconnecting all devices!\n", __func__);
 		// when then usbmuxd connection fails,
 		// generate remove events for every device that
 		// is still present so applications know about it
