diff --git a/Lib/glob.py b/Lib/glob.py
index 04364be..d6ddaad 100644
--- a/Lib/glob.py
+++ b/Lib/glob.py
@@ -5,6 +5,14 @@
 import re
 import fnmatch
 
+try:
+    _unicode = unicode
+except NameError:
+    # If Python is built without Unicode support, the unicode type
+    # will not exist. Fake one.
+    class _unicode(object):
+        pass
+
 __all__ = ["glob", "iglob"]
 
 def glob(pathname):
@@ -49,7 +57,7 @@
 def glob1(dirname, pattern):
     if not dirname:
         dirname = os.curdir
-    if isinstance(pattern, unicode) and not isinstance(dirname, unicode):
+    if isinstance(pattern, _unicode) and not isinstance(dirname, unicode):
         dirname = unicode(dirname, sys.getfilesystemencoding() or
                                    sys.getdefaultencoding())
     try:
diff --git a/Lib/locale.py b/Lib/locale.py
index 0f60dcc..7ddfdb7 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -18,6 +18,14 @@
 import operator
 import functools
 
+try:
+    _unicode = unicode
+except NameError:
+    # If Python is built without Unicode support, the unicode type
+    # will not exist. Fake one.
+    class _unicode(object):
+        pass
+
 # Try importing the _locale module.
 #
 # If this fails, fall back on a basic 'C' locale emulation.
@@ -353,7 +361,7 @@
 
     """
     # Normalize the locale name and extract the encoding
-    if isinstance(localename, unicode):
+    if isinstance(localename, _unicode):
         localename = localename.encode('ascii')
     fullname = localename.translate(_ascii_lower_map)
     if ':' in fullname:
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index 163c00c..690c70d 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -17,6 +17,14 @@
 import warnings
 from genericpath import *
 
+try:
+    _unicode = unicode
+except NameError:
+    # If Python is built without Unicode support, the unicode type
+    # will not exist. Fake one.
+    class _unicode(object):
+        pass
+
 __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","getctime","islink","exists","lexists","isdir","isfile",
@@ -312,7 +320,7 @@
 def normpath(path):
     """Normalize path, eliminating double slashes, etc."""
     # Preserve unicode (if path is unicode)
-    slash, dot = (u'/', u'.') if isinstance(path, unicode) else ('/', '.')
+    slash, dot = (u'/', u'.') if isinstance(path, _unicode) else ('/', '.')
     if path == '':
         return dot
     initial_slashes = path.startswith('/')
@@ -341,7 +349,7 @@
 def abspath(path):
     """Return an absolute path."""
     if not isabs(path):
-        if isinstance(path, unicode):
+        if isinstance(path, _unicode):
             cwd = os.getcwdu()
         else:
             cwd = os.getcwd()
diff --git a/Lib/test/script_helper.py b/Lib/test/script_helper.py
index 337854a..7f7c70e 100644
--- a/Lib/test/script_helper.py
+++ b/Lib/test/script_helper.py
@@ -10,7 +10,13 @@
 import py_compile
 import contextlib
 import shutil
-import zipfile
+try:
+    import zipfile
+except ImportError:
+    # If Python is build without Unicode support, importing _io will
+    # fail, which, in turn, means that zipfile cannot be imported
+    # Most of this module can then still be used.
+    pass
 
 from test.test_support import strip_python_stderr
 
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index b0a2048..ae6b44f 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -405,7 +405,7 @@
     the CWD, an error is raised.  If it's True, only a warning is raised
     and the original CWD is used.
     """
-    if isinstance(name, unicode):
+    if have_unicode and isinstance(name, unicode):
         try:
             name = name.encode(sys.getfilesystemencoding() or 'ascii')
         except UnicodeEncodeError:
diff --git a/Lib/textwrap.py b/Lib/textwrap.py
index 9582a1c..62ea0b4 100644
--- a/Lib/textwrap.py
+++ b/Lib/textwrap.py
@@ -9,6 +9,14 @@
 
 import string, re
 
+try:
+    _unicode = unicode
+except NameError:
+    # If Python is built without Unicode support, the unicode type
+    # will not exist. Fake one.
+    class _unicode(object):
+        pass
+
 # Do the right thing with boolean values for all known Python versions
 # (so this module can be copied to projects that don't depend on Python
 # 2.3, e.g. Optik and Docutils) by uncommenting the block of code below.
@@ -147,7 +155,7 @@
         if self.replace_whitespace:
             if isinstance(text, str):
                 text = text.translate(self.whitespace_trans)
-            elif isinstance(text, unicode):
+            elif isinstance(text, _unicode):
                 text = text.translate(self.unicode_whitespace_trans)
         return text
 
@@ -167,7 +175,7 @@
           'use', ' ', 'the', ' ', '-b', ' ', option!'
         otherwise.
         """
-        if isinstance(text, unicode):
+        if isinstance(text, _unicode):
             if self.break_on_hyphens:
                 pat = self.wordsep_re_uni
             else:
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index f334b5b..b3c581a 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -202,7 +202,11 @@
         self.addTypeEqualityFunc(tuple, 'assertTupleEqual')
         self.addTypeEqualityFunc(set, 'assertSetEqual')
         self.addTypeEqualityFunc(frozenset, 'assertSetEqual')
-        self.addTypeEqualityFunc(unicode, 'assertMultiLineEqual')
+        try:
+            self.addTypeEqualityFunc(unicode, 'assertMultiLineEqual')
+        except NameError:
+            # No unicode support in this build
+            pass
 
     def addTypeEqualityFunc(self, typeobj, function):
         """Add a type specific assertEqual style function to compare a type.
diff --git a/Misc/ACKS b/Misc/ACKS
index 2844dfa..9908bb1 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -839,6 +839,7 @@
 Geoff Talvola
 William Tanksley
 Christian Tanzer
+Stefano Taschini
 Steven Taschuk
 Monty Taylor
 Amy Taylor
diff --git a/Misc/NEWS b/Misc/NEWS
index 34c5e47..d9faea5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -191,6 +191,9 @@
 Build
 -----
 
+- Issue #8767: Restore building with --disable-unicode.
+  Patch by Stefano Taschini.
+
 - Build against bzip2 1.0.6 and openssl 0.9.8x on Windows.
 
 - Issue #14557: Fix extensions build on HP-UX. Patch by Adi Roiban.
diff --git a/Objects/object.c b/Objects/object.c
index 9303086..f1902a7 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -2111,8 +2111,10 @@
     if (PyType_Ready(&PySet_Type) < 0)
         Py_FatalError("Can't initialize set type");
 
+#ifdef Py_USING_UNICODE
     if (PyType_Ready(&PyUnicode_Type) < 0)
         Py_FatalError("Can't initialize unicode type");
+#endif
 
     if (PyType_Ready(&PySlice_Type) < 0)
         Py_FatalError("Can't initialize slice type");
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index c25588a..373f870 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1578,6 +1578,7 @@
             Py_CLEAR(str_newline);
             return NULL;
         }
+#ifdef Py_USING_UNICODE
         unicode_newline = PyUnicode_FromString("\n");
         if (unicode_newline == NULL) {
             Py_CLEAR(str_newline);
@@ -1591,6 +1592,7 @@
             Py_CLEAR(unicode_space);
             return NULL;
         }
+#endif
     }
     if (!PyArg_ParseTupleAndKeywords(dummy_args, kwds, "|OOO:print",
                                      kwlist, &sep, &end, &file))
diff --git a/Python/peephole.c b/Python/peephole.c
index 433fe27..7521b9c 100644
--- a/Python/peephole.c
+++ b/Python/peephole.c
@@ -135,6 +135,7 @@
                will return a surrogate.  In both the cases skip the
                optimization in order to produce compatible pycs.
              */
+#ifdef Py_USING_UNICODE
             if (newconst != NULL &&
                 PyUnicode_Check(v) && PyUnicode_Check(newconst)) {
                 Py_UNICODE ch = PyUnicode_AS_UNICODE(newconst)[0];
@@ -147,6 +148,7 @@
                     return 0;
                 }
             }
+#endif
             break;
         case BINARY_LSHIFT:
             newconst = PyNumber_Lshift(v, w);
diff --git a/configure b/configure
index 25c4acf..9d58c17 100755
--- a/configure
+++ b/configure
@@ -12522,6 +12522,7 @@
       $as_echo "#define Py_UNICODE_SIZE 4" >>confdefs.h
 
       ;;
+no)   ;;      # To allow --disable-unicode
 *) as_fn_error $? "invalid value for --enable-unicode. Use either ucs2 or ucs4 (lowercase)." "$LINENO" 5 ;;
 esac
 
diff --git a/configure.ac b/configure.ac
index 3f5b3b9..9a1eb5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3776,6 +3776,7 @@
 ucs4) unicode_size="4"
       AC_DEFINE(Py_UNICODE_SIZE,4)
       ;;
+no)   ;;      # To allow --disable-unicode
 *) AC_MSG_ERROR([invalid value for --enable-unicode. Use either ucs2 or ucs4 (lowercase).]) ;;
 esac
 
