diff -urpN john-1.7.8-jumbo-7a/src/mssql-old_fmt_plug.c john-1.7.8-jumbo-7b/src/mssql-old_fmt_plug.c
--- john-1.7.8-jumbo-7a/src/mssql-old_fmt_plug.c	2011-09-20 15:58:12.000000000 +0000
+++ john-1.7.8-jumbo-7b/src/mssql-old_fmt_plug.c	2011-09-23 19:39:12.125000000 +0000
@@ -144,13 +144,6 @@ extern struct fmt_main fmt_mssql;
 
 static void mssql_init(struct fmt_main *pFmt)
 {
-	if (options.ascii) {
-		// The 'proper' default encoding for mssql IS 8859-1 the test suite will have a TON of failures, unless this
-		// is set this way.  All of the data IN that test suite, was made using MSSQL.
-		options.ascii = 0;
-		options.iso8859_1 = 1;
-		options.encodingStr = "ISO-8859-1";
-	}
 	initUnicode(UNICODE_MS_OLD);
 #ifdef MMX_COEF
 	memset(saved_key, 0, sizeof(saved_key));
diff -urpN john-1.7.8-jumbo-7a/src/unicode.c john-1.7.8-jumbo-7b/src/unicode.c
--- john-1.7.8-jumbo-7a/src/unicode.c	2011-09-23 15:26:10.859375000 +0000
+++ john-1.7.8-jumbo-7b/src/unicode.c	2011-09-23 19:44:42.703125000 +0000
@@ -861,6 +861,13 @@ int initUnicode(int type) {
 	// the 2nd part done, when we know what format we are using.
 	// This is still TBD on how best to do it.
 	if (type==UNICODE_MS_OLD) {
+		if (options.ascii) {
+			// The 'proper' default encoding for mssql IS 8859-1 the test suite will have a TON of failures, unless this
+			// is set this way.  All of the data IN that test suite, was made using MSSQL.
+			options.ascii = 0;
+			options.iso8859_1 = 1;
+			options.encodingStr = "ISO-8859-1";
+		}
 		for (i = 0; arToUCDat_WinXP[i]; i += 2)
 			ucs2_upcase[arToUCDat_WinXP[i]] = arToUCDat_WinXP[i+1];
 		for (i = 0; arToLCDat_WinXP[i]; i += 2)
