diff -urpN x/src/Makefile john-1.7.9-a/src/Makefile
--- x/src/Makefile	2011-11-28 17:29:46.834125000 +0000
+++ john-1.7.9-a/src/Makefile	2011-11-28 17:35:38.412250000 +0000
@@ -1076,6 +1076,7 @@ win32-cygwin-x86-any:
 	$(MAKE) $(PROJ_WIN32) \
 		JOHN_OBJS="$(JOHN_OBJS) x86.o" \
 		CFLAGS="$(CFLAGS) -mpreferred-stack-boundary=2" \
+		CFLAGS_MAIN="$(CFLAGS) -O0" \
 		ASFLAGS="$(ASFLAGS) -DUNDERSCORES"
 
 win32-mingw-x86-sse2i:
diff -urpN x/src/options.c john-1.7.9-a/src/options.c
--- x/src/options.c	2011-11-28 17:29:45.084125000 +0000
+++ john-1.7.9-a/src/options.c	2011-11-28 17:09:39.240375000 +0000
@@ -196,6 +196,7 @@ static void print_usage(char *name)
 	column = strrchr(JOHN_USAGE, '\0') - strrchr(JOHN_USAGE, '\n') - 1;
 	format = fmt_list;
 	do {
+		int length;
 		char *label = format->params.label;
 		if (!strncmp(label, "dynamic", 7)) {
 			if (dynamics++)
@@ -203,7 +204,7 @@ static void print_usage(char *name)
 			else
 				label = "dynamic_n";
 		}
-		int length = strlen(label) + (format->next != NULL);
+		length = strlen(label) + (format->next != NULL);
 		column += length;
 		if (column > 80) {
 			printf("\n" JOHN_USAGE_INDENT);
