diff --git a/Lib/inspect.py b/Lib/inspect.py
index a976c8b..c316906 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -518,7 +518,9 @@
     or code object.  The source code is returned as a list of all the lines
     in the file and the line number indexes a line in that list.  An IOError
     is raised if the source code cannot be retrieved."""
-    file = getsourcefile(object) or getfile(object)
+    file = getsourcefile(object)
+    if not file:
+        raise IOError('source code not available')
     module = getmodule(object, file)
     if module:
         lines = linecache.getlines(file, module.__dict__)
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index e2fe641..270ebfd 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -11,6 +11,9 @@
 from test import inspect_fodder as mod
 from test import inspect_fodder2 as mod2
 
+# C module for test_findsource_binary
+import time
+
 # Functions tested in this suite:
 # ismodule, isclass, ismethod, isfunction, istraceback, isframe, iscode,
 # isbuiltin, isroutine, isgenerator, isgeneratorfunction, getmembers,
@@ -336,6 +339,10 @@
     def test_method_in_dynamic_class(self):
         self.assertSourceEqual(mod2.method_in_dynamic_class, 95, 97)
 
+    def test_findsource_binary(self):
+        self.assertRaises(IOError, inspect.getsource, time)
+        self.assertRaises(IOError, inspect.findsource, time)
+
 # Helper for testing classify_class_attrs.
 def attrs_wo_objs(cls):
     return [t[:3] for t in inspect.classify_class_attrs(cls)]
diff --git a/Misc/ACKS b/Misc/ACKS
index 5623bad..83dd3ad 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -171,6 +171,7 @@
 Toby Dickenson
 Mark Dickinson
 Jack Diederich
+Daniel Diniz
 Humberto Diogenes
 Yves Dionne
 Daniel Dittmar
@@ -581,6 +582,7 @@
 Brian Quinlan
 Anders Qvist
 Burton Radons
+Brodie Rao
 Antti Rasinen
 Eric Raymond
 Edward K. Ream
diff --git a/Misc/NEWS b/Misc/NEWS
index c1949f5..8cb1e38 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -23,6 +23,10 @@
 Library
 -------
 
+- Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source'
+  file is a binary.  Patch by Brodie Rao, tests by Daniel Diniz.  This fix
+  corrects a pydoc regression.
+
 - Issue 5955: aifc's close method did not close the file it wrapped,
   now it does.  This also means getfp method now returns the real fp.
 
