diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index c09a7b7e69dd1dad6ade41977e253ad9774c106c..52c08f4a3e587149a179171fac83982025265a2c 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -3171,6 +3171,7 @@ def _GenerateDiskTemplate(lu, template_name,
                                   for s in ("data", "meta")
                                   ])
     for idx, disk in enumerate(disk_info):
+      disk_index = idx + base_index
       disk_dev = _GenerateDRBD8Branch(lu, primary_node, remote_node,
                                       disk["size"], names[idx*2:idx*2+2],
                                       "disk/%d" % disk_index,
@@ -3181,7 +3182,7 @@ def _GenerateDiskTemplate(lu, template_name,
       raise errors.ProgrammerError("Wrong template configuration")
 
     for idx, disk in enumerate(disk_info):
-
+      disk_index = idx + base_index
       disk_dev = objects.Disk(dev_type=constants.LD_FILE, size=disk["size"],
                               iv_name="disk/%d" % disk_index,
                               logical_id=(file_driver,
diff --git a/scripts/gnt-instance b/scripts/gnt-instance
index 4d1dffa1f09fec8f8566bae9d6527523bb287fb9..d502653824bc55dfe0674479b61d3051b7bc3af2 100755
--- a/scripts/gnt-instance
+++ b/scripts/gnt-instance
@@ -306,11 +306,14 @@ def AddInstance(opts, args):
     # default of one nic, all auto
     nics = [{}]
 
-  if not opts.disks and opts.disk_template != constants.DT_DISKLESS:
-    raise errors.OpPrereqError("No disk information specified")
-  elif opts.disks and opts.disk_template == constants.DT_DISKLESS:
-    raise errors.OpPrereqError("Diskless instance but disk information passeD")
+  if opts.disk_template == constants.DT_DISKLESS:
+    if opts.disks:
+      raise errors.OpPrereqError("Diskless instance but disk"
+                                 " information passed")
+    disks = []
   else:
+    if not opts.disks:
+      raise errors.OpPrereqError("No disk information specified")
     try:
       disk_max = max(int(didx[0])+1 for didx in opts.disks)
     except ValueError, err: