diff --git a/src/service.c b/src/service.c
index 88132d2..db529bb 100644
--- a/src/service.c
+++ b/src/service.c
@@ -91,11 +91,11 @@
 	}
 
 	lockdownd_service_descriptor_t service = NULL;
-	lockdownd_start_service(lckd, service_name, &service);
+	lockdownd_error_t lerr = lockdownd_start_service(lckd, service_name, &service);
 	lockdownd_client_free(lckd);
 
 	if (!service || service->port == 0) {
-		debug_info("Could not start service %s!", service_name);
+		debug_info("Could not start service %s: %s", service_name, lockdownd_strerror(lerr));
 		return SERVICE_E_START_SERVICE_ERROR;
 	}
 
diff --git a/tools/idevicebackup.c b/tools/idevicebackup.c
index 42f020d..1759f50 100644
--- a/tools/idevicebackup.c
+++ b/tools/idevicebackup.c
@@ -598,15 +598,15 @@
 		}
 	}
 
-	lockdownd_start_service(client, NP_SERVICE_NAME, &service);
-	if (service && service->port) {
+	lockdownd_error_t ldret = lockdownd_start_service(client, NP_SERVICE_NAME, &service);
+	if (ldret == LOCKDOWN_E_SUCCESS) {
 		np_client_new(device, service, &np);
 		if (np) {
 			np_post_notification(np, notification);
 			np_client_free(np);
 		}
 	} else {
-		printf("Could not start %s\n", NP_SERVICE_NAME);
+		printf("Could not start %s: %s\n", NP_SERVICE_NAME, lockdownd_strerror(ldret));
 	}
 
 	if (service) {
@@ -826,7 +826,7 @@
 		};
 		np_observe_notifications(np, noties);
 	} else {
-		printf("ERROR: Could not start service %s.\n", NP_SERVICE_NAME);
+		printf("ERROR: Could not start service %s: %s\n", NP_SERVICE_NAME, lockdownd_strerror(ldret));
 	}
 
 	afc_client_t afc = NULL;
@@ -834,9 +834,11 @@
 		/* start AFC, we need this for the lock file */
 		service->port = 0;
 		service->ssl_enabled = 0;
-		ldret = lockdownd_start_service(client, "com.apple.afc", &service);
+		ldret = lockdownd_start_service(client, AFC_SERVICE_NAME, &service);
 		if ((ldret == LOCKDOWN_E_SUCCESS) && service->port) {
 			afc_client_new(device, service, &afc);
+		} else {
+			printf("ERROR: Could not start service %s: %s\n", AFC_SERVICE_NAME, lockdownd_strerror(ldret));
 		}
 	}
 
@@ -1588,7 +1590,7 @@
 		if (manifest_path)
 			free(manifest_path);
 	} else {
-		printf("ERROR: Could not start service %s.\n", MOBILEBACKUP_SERVICE_NAME);
+		printf("ERROR: Could not start service %s: %s\n", MOBILEBACKUP_SERVICE_NAME, lockdownd_strerror(ldret));
 		lockdownd_client_free(client);
 		client = NULL;
 	}
diff --git a/tools/idevicebackup2.c b/tools/idevicebackup2.c
index eff05ee..b024721 100644
--- a/tools/idevicebackup2.c
+++ b/tools/idevicebackup2.c
@@ -639,7 +639,7 @@
 	}
 
 	lockdownd_error_t ldret = lockdownd_start_service(lockdown, NP_SERVICE_NAME, &service);
-	if (service && service->port) {
+	if (ldret == LOCKDOWN_E_SUCCESS) {
 		np_client_new(device, service, &np);
 		if (np) {
 			np_post_notification(np, notification);
diff --git a/tools/idevicecrashreport.c b/tools/idevicecrashreport.c
index 4d3b686..7df8dd9 100644
--- a/tools/idevicecrashreport.c
+++ b/tools/idevicecrashreport.c
@@ -47,6 +47,9 @@
 #define S_IFSOCK S_IFREG
 #endif
 
+#define CRASH_REPORT_MOVER_SERVICE "com.apple.crashreportmover"
+#define CRASH_REPORT_COPY_MOBILE_SERVICE "com.apple.crashreportcopymobile"
+
 const char* target_directory = NULL;
 static int extract_raw_crash_reports = 0;
 static int keep_crash_reports = 0;
@@ -422,8 +425,9 @@
 
 	/* start crash log mover service */
 	lockdownd_service_descriptor_t service = NULL;
-	lockdownd_error = lockdownd_start_service(lockdownd, "com.apple.crashreportmover", &service);
+	lockdownd_error = lockdownd_start_service(lockdownd, CRASH_REPORT_MOVER_SERVICE, &service);
 	if (lockdownd_error != LOCKDOWN_E_SUCCESS) {
+		fprintf(stderr, "ERROR: Could not start service %s: %s\n", CRASH_REPORT_MOVER_SERVICE, lockdownd_strerror(lockdownd_error));
 		lockdownd_client_free(lockdownd);
 		idevice_free(device);
 		return -1;
@@ -465,8 +469,9 @@
 		return -1;
 	}
 
-	lockdownd_error = lockdownd_start_service(lockdownd, "com.apple.crashreportcopymobile", &service);
+	lockdownd_error = lockdownd_start_service(lockdownd, CRASH_REPORT_COPY_MOBILE_SERVICE, &service);
 	if (lockdownd_error != LOCKDOWN_E_SUCCESS) {
+		fprintf(stderr, "ERROR: Could not start service %s: %s\n", CRASH_REPORT_COPY_MOBILE_SERVICE, lockdownd_strerror(lockdownd_error));
 		lockdownd_client_free(lockdownd);
 		idevice_free(device);
 		return -1;
diff --git a/tools/idevicediagnostics.c b/tools/idevicediagnostics.c
index 0e3e66e..66ed589 100644
--- a/tools/idevicediagnostics.c
+++ b/tools/idevicediagnostics.c
@@ -213,13 +213,18 @@
 
 	/*  attempt to use newer diagnostics service available on iOS 5 and later */
 	ret = lockdownd_start_service(lockdown_client, "com.apple.mobile.diagnostics_relay", &service);
-	if (ret != LOCKDOWN_E_SUCCESS) {
+	if (ret == LOCKDOWN_E_INVALID_SERVICE) {
 		/*  attempt to use older diagnostics service */
 		ret = lockdownd_start_service(lockdown_client, "com.apple.iosdiagnostics.relay", &service);
 	}
-
 	lockdownd_client_free(lockdown_client);
 
+	if (ret != LOCKDOWN_E_SUCCESS) {
+		idevice_free(device);
+		printf("ERROR: Could not start diagnostics relay service: %s\n", lockdownd_strerror(ret));
+		goto cleanup;
+	}
+
 	result = EXIT_FAILURE;
 
 	if ((ret == LOCKDOWN_E_SUCCESS) && service && (service->port > 0)) {
diff --git a/tools/idevicenotificationproxy.c b/tools/idevicenotificationproxy.c
index cfc9260..00bcba8 100644
--- a/tools/idevicenotificationproxy.c
+++ b/tools/idevicenotificationproxy.c
@@ -250,7 +250,7 @@
 			}
 		}
 	} else {
-		printf("Could not start notification_proxy service on device.\n");
+		printf("ERROR: Could not start service %s: %s\n", NP_SERVICE_NAME, lockdownd_strerror(ret));
 	}
 
 	if (service) {
diff --git a/tools/ideviceprovision.c b/tools/ideviceprovision.c
index 36c69b0..1dee899 100644
--- a/tools/ideviceprovision.c
+++ b/tools/ideviceprovision.c
@@ -481,8 +481,9 @@
 	}
 	int product_version = ((product_version_major & 0xFF) << 16) | ((product_version_minor & 0xFF) << 8) | (product_version_patch & 0xFF);
 
-	if (LOCKDOWN_E_SUCCESS != lockdownd_start_service(client, "com.apple.misagent", &service)) {
-		fprintf(stderr, "Could not start service \"com.apple.misagent\"\n");
+	lockdownd_error_t lerr = lockdownd_start_service(client, MISAGENT_SERVICE_NAME, &service);
+	if (lerr != LOCKDOWN_E_SUCCESS) {
+		fprintf(stderr, "Could not start service %s: %s\n", MISAGENT_SERVICE_NAME, lockdownd_strerror(lerr));
 		lockdownd_client_free(client);
 		idevice_free(device);
 		return -1;
@@ -492,7 +493,7 @@
 
 	misagent_client_t mis = NULL;
 	if (misagent_client_new(device, service, &mis) != MISAGENT_E_SUCCESS) {
-		fprintf(stderr, "Could not connect to \"com.apple.misagent\" on device\n");
+		fprintf(stderr, "Could not connect to %s on device\n", MISAGENT_SERVICE_NAME);
 		if (service)
 			lockdownd_service_descriptor_free(service);
 		lockdownd_client_free(client);
diff --git a/tools/idevicescreenshot.c b/tools/idevicescreenshot.c
index 62bb4a3..9b1ffa3 100644
--- a/tools/idevicescreenshot.c
+++ b/tools/idevicescreenshot.c
@@ -110,9 +110,9 @@
 		return -1;
 	}
 
-	lockdownd_start_service(lckd, "com.apple.mobile.screenshotr", &service);
+	lockdownd_error_t lerr = lockdownd_start_service(lckd, SCREENSHOTR_SERVICE_NAME, &service);
 	lockdownd_client_free(lckd);
-	if (service && service->port > 0) {
+	if (lerr == LOCKDOWN_E_SUCCESS) {
 		if (screenshotr_client_new(device, service, &shotr) != SCREENSHOTR_E_SUCCESS) {
 			printf("Could not connect to screenshotr!\n");
 		} else {
@@ -142,7 +142,7 @@
 			screenshotr_client_free(shotr);
 		}
 	} else {
-		printf("Could not start screenshotr service! Remember that you have to mount the Developer disk image on your device if you want to use the screenshotr service.\n");
+		printf("Could not start screenshotr service: %s\nRemember that you have to mount the Developer disk image on your device if you want to use the screenshotr service.\n", lockdownd_strerror(lerr));
 	}
 
 	if (service)
diff --git a/tools/idevicesetlocation.c b/tools/idevicesetlocation.c
index 412b47c..6237a1a 100644
--- a/tools/idevicesetlocation.c
+++ b/tools/idevicesetlocation.c
@@ -141,10 +141,11 @@
 	lockdownd_client_new_with_handshake(device, &lockdown, TOOL_NAME);
 
 	lockdownd_service_descriptor_t svc = NULL;
-	if (lockdownd_start_service(lockdown, DT_SIMULATELOCATION_SERVICE, &svc) != LOCKDOWN_E_SUCCESS) {
+	lockdownd_error_t lerr = lockdownd_start_service(lockdown, DT_SIMULATELOCATION_SERVICE, &svc);
+	if (lerr != LOCKDOWN_E_SUCCESS) {
 		lockdownd_client_free(lockdown);
 		idevice_free(device);
-		printf("ERROR: Could not start the simulatelocation service. Make sure a developer disk image is mounted!\n");
+		printf("ERROR: Could not start the simulatelocation service: %s\nMake sure a developer disk image is mounted!\n", lockdownd_strerror(lerr));
 		return -1;
 	}
 	lockdownd_client_free(lockdown);
