diff --git a/scripts/Python/python-wrapper.swig b/scripts/Python/python-wrapper.swig
index d68c1b9..787074e 100644
--- a/scripts/Python/python-wrapper.swig
+++ b/scripts/Python/python-wrapper.swig
@@ -645,9 +645,11 @@
                         err_msg.clear();
                         retval = true;
                     }
-                    else // return value is an error string
+                    else
                     {
-                        err_msg.assign(PyString_AsString(pvalue));
+                        // return value is an error string
+                        if (PyString_CheckExact(pvalue))
+                            err_msg.assign(PyString_AsString(pvalue));
                         retval = false;
                     }
                     Py_DECREF (pvalue);
diff --git a/test/functionalities/command_script/TestCommandScript.py b/test/functionalities/command_script/TestCommandScript.py
index c381e49..bc20285 100644
--- a/test/functionalities/command_script/TestCommandScript.py
+++ b/test/functionalities/command_script/TestCommandScript.py
@@ -37,6 +37,7 @@
             self.runCmd('command script delete tell_sync', check=False)
             self.runCmd('command script delete tell_async', check=False)
             self.runCmd('command script delete tell_curr', check=False)
+            self.runCmd('command script delete bug11569', check=False)
 
         # Execute the cleanup function during test case tear down.
         self.addTearDownHook(cleanup)
@@ -115,6 +116,12 @@
         self.expect('command script add -f foobar frame', error=True,
                     substrs = ['cannot add command'])
 
+        # http://llvm.org/bugs/show_bug.cgi?id=11569
+        # LLDBSwigPythonCallCommand crashes when a command script returns an object 
+        self.runCmd('command script add -f bug11569 bug11569')
+        # This should not crash.
+        self.runCmd('bug11569', check=False)
+
 if __name__ == '__main__':
     import atexit
     lldb.SBDebugger.Initialize()
diff --git a/test/functionalities/command_script/bug11569.py b/test/functionalities/command_script/bug11569.py
new file mode 100644
index 0000000..93897d8
--- /dev/null
+++ b/test/functionalities/command_script/bug11569.py
@@ -0,0 +1,7 @@
+def bug11569(debugger, args, result, dict):
+    """
+    http://llvm.org/bugs/show_bug.cgi?id=11569
+    LLDBSwigPythonCallCommand crashes when a command script returns an object.
+    """
+    return ["return", "a", "non-string", "should", "not", "crash", "LLDB"];
+
diff --git a/test/functionalities/command_script/py_import b/test/functionalities/command_script/py_import
index 0ce2d79..8cb112d 100644
--- a/test/functionalities/command_script/py_import
+++ b/test/functionalities/command_script/py_import
@@ -1,6 +1,7 @@
 script import sys, os
 script sys.path.append(os.path.join(os.getcwd(), os.pardir))
 script import welcome
+script import bug11569
 command script add welcome --function welcome.welcome_impl
 command script add targetname --function welcome.target_name_impl
 command script add longwait --function welcome.print_wait_impl
