Index: uspace/drv/bus/usb/usbmast/scsi_ms.c
===================================================================
--- uspace/drv/bus/usb/usbmast/scsi_ms.c	(revision 8fc61c8b7f468664875b0d491f8e93d95252bc1c)
+++ uspace/drv/bus/usb/usbmast/scsi_ms.c	(revision ce259037bcbdbac21354296993bfc0226d852e24)
@@ -63,7 +63,5 @@
 static void usbmast_dump_sense(scsi_sense_data_t *sense_buf)
 {
-	unsigned sense_key;
-
-	sense_key = sense_buf->flags_key & 0x0f;
+	const unsigned sense_key = sense_buf->flags_key & 0x0f;
 	printf("Got sense data. Sense key: 0x%x (%s), ASC 0x%02x, "
 	    "ASCQ 0x%02x.\n", sense_key,
@@ -73,4 +71,28 @@
 }
 
+static int usb_massstor_unit_ready(usbmast_fun_t *mfun)
+{
+	scsi_cmd_t cmd;
+	scsi_cdb_test_unit_ready_t cdb;
+	int rc;
+
+	memset(&cdb, 0, sizeof(cdb));
+	cdb.op_code = SCSI_CMD_TEST_UNIT_READY;
+
+	memset(&cmd, 0, sizeof(cmd));
+	cmd.cdb = &cdb;
+	cmd.cdb_size = sizeof(cdb);
+
+	rc = usb_massstor_cmd(mfun, 0xDEADBEEF, &cmd);
+
+        if (rc != EOK || cmd.status != CMDS_GOOD) {
+		usb_log_error("Test Unit Ready failed, device %s: %s.\n",
+		   usb_device_get_name(mfun->mdev->usb_dev), str_error(rc));
+		return rc;
+	}
+
+	return EOK;
+}
+
 /** Run SCSI command.
  *
@@ -85,4 +107,11 @@
 
 	do {
+		rc = usb_massstor_unit_ready(mfun);
+		if (rc != EOK) {
+			usb_log_error("Inquiry transport failed, device %s: %s.\n",
+			   usb_device_get_name(mfun->mdev->usb_dev), str_error(rc));
+			return rc;
+		}
+
 		rc = usb_massstor_cmd(mfun, 0xDEADBEEF, cmd);
 		if (rc != EOK) {
Index: uspace/lib/scsi/include/scsi/spc.h
===================================================================
--- uspace/lib/scsi/include/scsi/spc.h	(revision 8fc61c8b7f468664875b0d491f8e93d95252bc1c)
+++ uspace/lib/scsi/include/scsi/spc.h	(revision ce259037bcbdbac21354296993bfc0226d852e24)
@@ -42,6 +42,7 @@
 /** SCSI command codes defined in SCSI-SPC */
 enum scsi_cmd_spc {
-	SCSI_CMD_INQUIRY	= 0x12,
-	SCSI_CMD_REQUEST_SENSE	= 0x03
+	SCSI_CMD_TEST_UNIT_READY = 0x00,
+	SCSI_CMD_REQUEST_SENSE	 = 0x03,
+	SCSI_CMD_INQUIRY	 = 0x12,
 };
 
@@ -220,4 +221,14 @@
 extern const char *scsi_get_sense_key_str(unsigned);
 
+/** SCSI Test Unit Ready command */
+typedef struct {
+	/** Operation code (SCSI_CMD_TEST_UNIT_READY) */
+	uint8_t op_code;
+	/** Reserved */
+	uint32_t reserved;
+	/* Control */
+	uint8_t control;
+} __attribute__((packed)) scsi_cdb_test_unit_ready_t;
+
 #endif
 
