Fix #define ordering.
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 7fcff20..ee353aa 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -1533,7 +1533,6 @@
 	return result;
 }
 
-#ifdef Py_USING_UNICODE
 /* This function is only called from parsetok. However, it cannot live
    there, as it must be empty for PGEN, and we can check for PGEN only
    in this file. */
@@ -1545,6 +1544,7 @@
 	return NULL;
 }
 #else
+#ifdef Py_USING_UNICODE
 static PyObject *
 dec_utf8(const char *enc, const char *text, size_t len) {
 	PyObject *ret = NULL;	
@@ -1592,10 +1592,9 @@
 	return text;
 
 }
+#endif /* defined(Py_USING_UNICODE) */
 #endif
 
-#endif /* defined(Py_USING_UNICODE) */
-			   
 
 #ifdef Py_DEBUG
 
diff --git a/Parser/tokenizer.h b/Parser/tokenizer.h
index feccd4e..e10972c 100644
--- a/Parser/tokenizer.h
+++ b/Parser/tokenizer.h
@@ -58,7 +58,7 @@
 extern struct tok_state *PyTokenizer_FromFile(FILE *, char *, char *);
 extern void PyTokenizer_Free(struct tok_state *);
 extern int PyTokenizer_Get(struct tok_state *, char **, char **);
-#ifdef Py_USING_UNICODE
+#if defined(PGEN) || defined(Py_USING_UNICODE)
 extern char * PyTokenizer_RestoreEncoding(struct tok_state* tok, 
 					  int len, int *offset);
 #endif