diff --git a/command/build_ext.py b/command/build_ext.py
index <HASH>..<HASH> 100644
--- a/command/build_ext.py
+++ b/command/build_ext.py
@@ -166,6 +166,7 @@ class build_ext(Command):
             self.include_dirs.append(plat_py_include)
 
         self.ensure_string_list('libraries')
+        self.ensure_string_list('link_objects')
 
         # Life is easier if we're not forever checking for None, so
         # simplify these options to empty lists if unset
diff --git a/tests/test_build_ext.py b/tests/test_build_ext.py
index <HASH>..<HASH> 100644
--- a/tests/test_build_ext.py
+++ b/tests/test_build_ext.py
@@ -195,6 +195,13 @@ class BuildExtTestCase(TempdirManager,
         cmd.finalize_options()
         self.assertEqual(cmd.rpath, ['one', 'two'])
 
+        # make sure cmd.link_objects is turned into a list
+        # if it's a string
+        cmd = build_ext(dist)
+        cmd.link_objects = 'one two,three'
+        cmd.finalize_options()
+        self.assertEqual(cmd.link_objects, ['one', 'two', 'three'])
+
         # XXX more tests to perform for win32
 
         # make sure define is turned into 2-tuples
build_ext: correctly parse the link_objects user option (closes #<I>)

Patch by Valerie Lambert.