diff --git a/pickit2_spi.c b/pickit2_spi.c
index e364b06..b8d3f76 100644
--- a/pickit2_spi.c
+++ b/pickit2_spi.c
@@ -460,35 +460,34 @@
 		return 1;
 	}
 
-	if (register_shutdown(pickit2_shutdown, NULL) != 0) {
-		return 1;
-	}
-
-	if (pickit2_get_firmware_version()) {
-		return 1;
-	}
+	if (pickit2_get_firmware_version())
+		goto init_err_cleanup_exit;
 
 	/* Command Set SPI Speed */
-	if (pickit2_set_spi_speed(spispeed_idx)) {
-		return 1;
-	}
+	if (pickit2_set_spi_speed(spispeed_idx))
+		goto init_err_cleanup_exit;
 
 	/* Command Set SPI Voltage */
 	msg_pdbg("Setting voltage to %i mV.\n", millivolt);
-	if (pickit2_set_spi_voltage(millivolt) != 0) {
-		return 1;
-	}
+	if (pickit2_set_spi_voltage(millivolt) != 0)
+		goto init_err_cleanup_exit;
 
 	/* Perform basic setup.
 	 * Configure pin directions and logic levels, turn Vdd on, turn busy LED on and clear buffers. */
 	if (pickit2_interrupt_transfer(pickit2_handle, ENDPOINT_OUT, buf) != 0) {
 		msg_perr("Command Setup failed!\n");
-		return 1;
+		goto init_err_cleanup_exit;
 	}
 
+	if (register_shutdown(pickit2_shutdown, NULL))
+		goto init_err_cleanup_exit;
 	register_spi_master(&spi_master_pickit2);
 
 	return 0;
+
+init_err_cleanup_exit:
+	pickit2_shutdown(NULL);
+	return 1;
 }
 
 const struct programmer_entry programmer_pickit2_spi = {
