Index: src/uk/me/parabola/mkgmap/combiners/NsisBuilder.java
===================================================================
--- src/uk/me/parabola/mkgmap/combiners/NsisBuilder.java	(revision 3759)
+++ src/uk/me/parabola/mkgmap/combiners/NsisBuilder.java	(working copy)
@@ -25,6 +25,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 
 import uk.me.parabola.imgfmt.Utils;
 import uk.me.parabola.mkgmap.CommandArgs;
@@ -40,12 +41,16 @@
 	private String id;
 	private int productId;
 
-	private boolean hasIndex;
+	private final boolean hasIndex;
 	private boolean hasTyp;
 
-	private final List<String> mapList = new ArrayList<String>();
+	private final List<String> mapList = new ArrayList<>();
 	private String typName;
 
+	public NsisBuilder(Map<String, Combiner> combinerMap) {
+		this.hasIndex = combinerMap.containsKey("mdx");
+	}
+
 	public void init(CommandArgs args) {
 		int familyId = args.get("family-id", CommandArgs.DEFAULT_FAMILYID);
 		productId = args.get("product-id", 1);
@@ -62,7 +67,6 @@
 		
 		outputDir = args.getOutputDir();
 		
-		hasIndex = args.exists("index");
 	}
 
 	public void onMapEnd(FileInfo info) {
@@ -75,11 +79,8 @@
 			File typFile = new File(info.getFilename());
 			typName = typFile.getName();
 			break;
-		case MDR_KIND:
-			hasIndex = true;
+		default:
 			break;
-		case GMAPSUPP_KIND:
-			break;
 		}
 	}
 
Index: src/uk/me/parabola/mkgmap/main/Main.java
===================================================================
--- src/uk/me/parabola/mkgmap/main/Main.java	(revision 3759)
+++ src/uk/me/parabola/mkgmap/main/Main.java	(working copy)
@@ -637,9 +637,6 @@
 		if (tdbOpt || createTdbFiles){ 
 			addTdbBuilder();
 		}
-		if (args.exists("nsis")) {
-			addCombiner("nsis", new NsisBuilder());
-		}
 		if (gmapsuppOpt) {
 			GmapsuppBuilder gmapBuilder = new GmapsuppBuilder();
 			gmapBuilder.setCreateIndex(indexOpt);
@@ -655,6 +652,9 @@
 		if (gmapiOpt) {
 			addCombiner("gmapi", new GmapiBuilder(combinerMap));
 		}
+		if (args.exists("nsis")) {
+			addCombiner("nsis", new NsisBuilder(combinerMap));
+		}
 	}
 
 	/**
