diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index c2b2088..26cd55d 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1051,9 +1051,11 @@
             if visiblename(key, all):
                 data.append((key, value))
 
+        modpkgs = []
+        modpkgs_names = set()
         if hasattr(object, '__path__'):
-            modpkgs = []
             for importer, modname, ispkg in pkgutil.iter_modules(object.__path__):
+                modpkgs_names.add(modname)
                 if ispkg:
                     modpkgs.append(modname + ' (package)')
                 else:
@@ -1063,6 +1065,16 @@
             result = result + self.section(
                 'PACKAGE CONTENTS', join(modpkgs, '\n'))
 
+        # Detect submodules as sometimes created by C extensions
+        submodules = []
+        for key, value in inspect.getmembers(object, inspect.ismodule):
+            if value.__name__.startswith(name + '.') and key not in modpkgs_names:
+                submodules.append(key)
+        if submodules:
+            submodules.sort()
+            result = result + self.section(
+                'SUBMODULES', join(submodules, '\n'))
+
         if classes:
             classlist = map(lambda (key, value): value, classes)
             contents = [self.formattree(
diff --git a/Lib/test/pydocfodder.py b/Lib/test/pydocfodder.py
index becdf22..2cf1cbd 100644
--- a/Lib/test/pydocfodder.py
+++ b/Lib/test/pydocfodder.py
@@ -1,5 +1,7 @@
 """Something just to look at via pydoc."""
 
+import types
+
 class A_classic:
     "A classic class."
     def A_method(self):
@@ -208,3 +210,7 @@
             del inst.desc[self.attr]
 
     x = property(get_desc('x'), set_desc('x'), del_desc('x'), 'prop x')
+
+
+submodule = types.ModuleType(__name__ + '.submodule',
+    """A submodule, which should appear in its parent's summary""")
diff --git a/Misc/NEWS b/Misc/NEWS
index 3235111..b0a28b1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -372,6 +372,8 @@
 Library
 -------
 
+- #1715: include sub-extension modules in pydoc's text output.
+
 - #1836: fix an off-by-one bug in TimedRotatingHandler's rollover
   time calculation.
 
