diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index 55a4288ac007f2d2122845bbb5ac3b2a94868bbc..923197bac43674e86fdfb3970c8a730c8893c63a 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -160,8 +160,7 @@ class build_ext (Command):
         if plat_py_include != py_include:
             self.include_dirs.append(plat_py_include)
 
-        if isinstance(self.libraries, str):
-            self.libraries = [self.libraries]
+        self.ensure_string_list('libraries')
 
         # Life is easier if we're not forever checking for None, so
         # simplify these options to empty lists if unset
diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py
index 2fa63d300bb5df8b2cc316a2c699256a35f45f5b..198cce3257076e72e801f64c6a19bfbf01bd212f 100644
--- a/Lib/distutils/tests/test_build_ext.py
+++ b/Lib/distutils/tests/test_build_ext.py
@@ -150,21 +150,21 @@ class BuildExtTestCase(support.TempdirManager,
         # make sure cmd.libraries is turned into a list
         # if it's a string
         cmd = build_ext(dist)
-        cmd.libraries = 'my_lib'
+        cmd.libraries = 'my_lib, other_lib lastlib'
         cmd.finalize_options()
-        self.assertEqual(cmd.libraries, ['my_lib'])
+        self.assertEqual(cmd.libraries, ['my_lib', 'other_lib', 'lastlib'])
 
         # make sure cmd.library_dirs is turned into a list
         # if it's a string
         cmd = build_ext(dist)
-        cmd.library_dirs = 'my_lib_dir'
+        cmd.library_dirs = 'my_lib_dir%sother_lib_dir' % os.pathsep
         cmd.finalize_options()
-        self.assertTrue('my_lib_dir' in cmd.library_dirs)
+        self.assertEqual(cmd.library_dirs, ['my_lib_dir', 'other_lib_dir'])
 
         # make sure rpath is turned into a list
-        # if it's a list of os.pathsep's paths
+        # if it's a string
         cmd = build_ext(dist)
-        cmd.rpath = os.pathsep.join(['one', 'two'])
+        cmd.rpath = 'one%stwo' % os.pathsep
         cmd.finalize_options()
         self.assertEqual(cmd.rpath, ['one', 'two'])
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 7fc224ab6c413d095051a0ce7c16df38971c12a0..474609e82bde312b77ec768b13c5d6545de1344b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -102,6 +102,9 @@ Library
 - Issue #13979: A bug in ctypes.util.find_library that caused
   the wrong library name to be returned has been fixed.
 
+- Issue #1326113: distutils' build_ext command --libraries option now
+  correctly parses multiple values separated by whitespace or commas.
+
 - Issue #13993: HTMLParser is now able to handle broken end tags.
 
 - Issue #13960: HTMLParser is now able to handle broken comments.