Index: /trunk/include/VBox/err.h
===================================================================
--- /trunk/include/VBox/err.h	(revision 42191)
+++ /trunk/include/VBox/err.h	(revision 42192)
@@ -1508,4 +1508,6 @@
 /** iSCSI: Invalid device type (not a disk). */
 #define VERR_VD_ISCSI_INVALID_TYPE                  (-3254)
+/** iSCSI: Initiator secret not decrypted */
+#define VERR_VD_ISCSI_SECRET_ENCRYPTED              (-3255)
 /** VHD: Invalid image file header. */
 #define VERR_VD_VHD_INVALID_HEADER                  (-3260)
Index: /trunk/src/VBox/Storage/ISCSI.cpp
===================================================================
--- /trunk/src/VBox/Storage/ISCSI.cpp	(revision 42191)
+++ /trunk/src/VBox/Storage/ISCSI.cpp	(revision 42192)
@@ -3874,4 +3874,20 @@
         rc = vdIfError(pImage->pIfError, rc, RT_SRC_POS, N_("iSCSI: configuration error: failed to read InitiatorSecret as byte string"));
         goto out;
+    }
+    void *pvInitiatorSecretEncrypted;
+    size_t cbInitiatorSecretEncrypted;
+    rc = VDCFGQueryBytesAlloc(pImage->pIfConfig,
+                              "InitiatorSecretEncrypted",
+                              &pvInitiatorSecretEncrypted,
+                              &cbInitiatorSecretEncrypted);
+    if (RT_SUCCESS(rc))
+    {
+        RTMemFree(pvInitiatorSecretEncrypted);
+        if (!pImage->pbInitiatorSecret)
+        {
+            /* we have an encrypted initiator secret but not an unencrypted one */
+            rc = vdIfError(pImage->pIfError, VERR_VD_ISCSI_SECRET_ENCRYPTED, RT_SRC_POS, N_("iSCSI: initiator secret not decrypted"));
+            goto out;
+        }
     }
     pImage->pszTargetUsername = NULL;
