diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py
index 9b9f551..5c7b473 100644
--- a/Lib/distutils/command/build_py.py
+++ b/Lib/distutils/command/build_py.py
@@ -374,7 +374,7 @@
 
     def byte_compile(self, files):
         if sys.dont_write_bytecode:
-            self.warn('byte-compile not supported on this platform, skipping.')
+            self.warn('byte-compiling is disabled, skipping.')
             return
 
         from distutils.util import byte_compile
diff --git a/Lib/distutils/command/install_lib.py b/Lib/distutils/command/install_lib.py
index 7b4b45b..043e8b6 100644
--- a/Lib/distutils/command/install_lib.py
+++ b/Lib/distutils/command/install_lib.py
@@ -121,7 +121,7 @@
 
     def byte_compile(self, files):
         if sys.dont_write_bytecode:
-            self.warn('byte-compile not supported on this platform, skipping.')
+            self.warn('byte-compiling is disabled, skipping.')
             return
 
         from distutils.util import byte_compile
diff --git a/Lib/distutils/tests/test_build_py.py b/Lib/distutils/tests/test_build_py.py
index e8c7ca9..bfe6154 100644
--- a/Lib/distutils/tests/test_build_py.py
+++ b/Lib/distutils/tests/test_build_py.py
@@ -103,7 +103,7 @@
         finally:
             sys.dont_write_bytecode = old_dont_write_bytecode
 
-        self.assertTrue('byte-compile not supported ' in self.logs[0][1])
+        self.assertTrue('byte-compiling is disabled' in self.logs[0][1])
 
 def test_suite():
     return unittest.makeSuite(BuildPyTestCase)
diff --git a/Lib/distutils/tests/test_install_lib.py b/Lib/distutils/tests/test_install_lib.py
index fab66d1..99a6d90 100644
--- a/Lib/distutils/tests/test_install_lib.py
+++ b/Lib/distutils/tests/test_install_lib.py
@@ -92,7 +92,7 @@
         finally:
             sys.dont_write_bytecode = old_dont_write_bytecode
 
-        self.assertTrue('byte-compile not supported ' in self.logs[0][1])
+        self.assertTrue('byte-compiling is disabled' in self.logs[0][1])
 
 def test_suite():
     return unittest.makeSuite(InstallLibTestCase)
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index a87ef44..6bff44f 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -448,7 +448,7 @@
     """
     # nothing is done if sys.dont_write_bytecode is True
     if sys.dont_write_bytecode:
-        raise DistutilsByteCompileError('byte-compiling not supported.')
+        raise DistutilsByteCompileError('byte-compiling is disabled.')
 
     # First, if the caller didn't force us into direct or indirect mode,
     # figure out which mode we should be in.  We take a conservative
