diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index fd7a6ab..6076dc1 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -1359,7 +1359,7 @@
 $(OUTDIR):
 	if not exist $(OUTDIR)/nul  mkdir $(OUTDIR)
 
-CFLAGS_INST = /nologo -DNDEBUG -DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) $(CFLAGS_DEPR)
+CFLAGS_INST = /nologo /O2 -DNDEBUG -DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) $(CFLAGS_DEPR)
 
 install.exe: dosinst.c dosinst.h version.h
 	$(CC) $(CFLAGS_INST) dosinst.c kernel32.lib shell32.lib \
diff --git a/src/dosinst.c b/src/dosinst.c
index 2ded88e..6ce4043 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -841,6 +841,7 @@
 
 	    fprintf(fd, "@echo off\n");
 	    fprintf(fd, "rem -- Run Vim --\n");
+	    fprintf(fd, VIMBAT_UNINSTKEY "\n");
 	    fprintf(fd, "\n");
 	    fprintf(fd, "setlocal\n");
 
diff --git a/src/dosinst.h b/src/dosinst.h
index a849dad..c262c42 100644
--- a/src/dosinst.h
+++ b/src/dosinst.h
@@ -354,6 +354,9 @@
 					"vimtutor.bat",  "vimtutor.bat", ""},
 };
 
+/* Uninstall key for vim.bat, etc. */
+#define VIMBAT_UNINSTKEY    "rem # uninstall key: " VIM_VERSION_NODOT " #"
+
 #define ICON_COUNT 3
 char *(icon_names[ICON_COUNT]) =
 	{"gVim " VIM_VERSION_SHORT,
diff --git a/src/uninstall.c b/src/uninstall.c
index ef0538a..e9a9aac 100644
--- a/src/uninstall.c
+++ b/src/uninstall.c
@@ -200,8 +200,7 @@
 {
     FILE	*fd;
     char	line[BUFSIZE];
-    char	*p;
-    int		ver_len = strlen(VIM_VERSION_NODOT);
+    int		key_len = strlen(VIMBAT_UNINSTKEY);
     int		found = FALSE;
 
     fd = fopen(path, "r");
@@ -209,17 +208,11 @@
     {
 	while (fgets(line, sizeof(line), fd) != NULL)
 	{
-	    for (p = line; *p != 0; ++p)
-		// don't accept "vim60an" when looking for "vim60".
-		if (strnicmp(p, VIM_VERSION_NODOT, ver_len) == 0
-			&& !isdigit(p[ver_len])
-			&& !isalpha(p[ver_len]))
-		{
-		    found = TRUE;
-		    break;
-		}
-	    if (found)
+	    if (strncmp(line, VIMBAT_UNINSTKEY, key_len) == 0)
+	    {
+		found = TRUE;
 		break;
+	    }
 	}
 	fclose(fd);
     }
diff --git a/src/version.c b/src/version.c
index 1008eaf..2fbccd2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    273,
+/**/
     272,
 /**/
     271,
