Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp	(revision 35036)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp	(revision 35037)
@@ -482,10 +482,4 @@
     { "--variant",      'm', RTGETOPT_REQ_STRING },
     { "-variant",       'm', RTGETOPT_REQ_STRING },
-    { "--type",         't', RTGETOPT_REQ_STRING },
-    { "-type",          't', RTGETOPT_REQ_STRING },
-    { "--remember",     'r', RTGETOPT_REQ_NOTHING },
-    { "-remember",      'r', RTGETOPT_REQ_NOTHING },
-    { "--register",     'r', RTGETOPT_REQ_NOTHING },
-    { "-register",      'r', RTGETOPT_REQ_NOTHING },
 };
 
@@ -498,7 +492,4 @@
     MediumVariant_T DiskVariant = MediumVariant_Standard;
     bool fExisting = false;
-    bool fRemember = false;
-    bool fSetDiskType = false;
-    MediumType_T DiskType = MediumType_Normal;
 
     int c;
@@ -532,15 +523,4 @@
                 if (RT_FAILURE(vrc))
                     return errorArgument("Invalid hard disk variant '%s'", ValueUnion.psz);
-                break;
-
-            case 'r':   // --remember
-                fRemember = true;
-                break;
-
-            case 't':   // --type
-                vrc = parseDiskType(ValueUnion.psz, &DiskType);
-                if (RT_FAILURE(vrc))
-                    return errorArgument("Invalid hard disk type '%s'", ValueUnion.psz);
-                fSetDiskType = true;
                 break;
 
@@ -641,14 +621,14 @@
                                                                 dstDisk.asOutParam()));
                 }
-                else if (SUCCEEDED(rc))
-                    fDstUnknown = true;
-                else
+                else if (FAILED(rc))
                 {
                     com::GluePrintRCMessage(rc);
                     break;
                 }
+
+                /* If the image wasn't opened before, close it at the end. */
+                if (SUCCEEDED(rc))
+                    fDstUnknown = true;
             }
-            else
-                fRemember = true;
             if (SUCCEEDED(rc))
             {
@@ -691,14 +671,9 @@
     while (0);
 
-    if (!fRemember && !dstDisk.isNull())
+    if (fDstUnknown && !dstDisk.isNull())
     {
         /* forget the created clone */
         dstDisk->Close();
     }
-    else if (fSetDiskType)
-    {
-        CHECK_ERROR(dstDisk, COMSETTER(Type)(DiskType));
-    }
-
     if (fSrcUnknown)
     {
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 35036)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 35037)
@@ -503,6 +503,5 @@
                      "                            [--format VDI|VMDK|VHD|RAW|<other>]\n"
                      "                            [--variant Standard,Fixed,Split2G,Stream,ESX]\n"
-                     "                            [--type normal|writethrough|immutable|shareable]\n"
-                     "                            [--remember] [--existing]\n"
+                     "                            [--existing]\n"
                      "\n");
 
