diff --git a/common/lib/xmodule/xmodule/x_module.py b/common/lib/xmodule/xmodule/x_module.py
index 9f99f5a526ed92c513377365df5ceea29f589ebb..071e4539010e52809369db2e57edaec89a723719 100644
--- a/common/lib/xmodule/xmodule/x_module.py
+++ b/common/lib/xmodule/xmodule/x_module.py
@@ -227,7 +227,7 @@ class XModule(HTMLSnippet):
     def get_display_items(self):
         '''
         Returns a list of descendent module instances that will display
-        immediately inside this module
+        immediately inside this module.
         '''
         items = []
         for child in self.get_children():
@@ -238,7 +238,7 @@ class XModule(HTMLSnippet):
     def displayable_items(self):
         '''
         Returns list of displayable modules contained by this module. If this
-        module is visible, should return [self]
+        module is visible, should return [self].
         '''
         return [self]
 
diff --git a/lms/djangoapps/courseware/grades.py b/lms/djangoapps/courseware/grades.py
index 85f883d2f07ebc2058fe9be3d76a2d0c79a5c461..aa160ee22aa1cccfe2aebba84b69771f1cb711a2 100644
--- a/lms/djangoapps/courseware/grades.py
+++ b/lms/djangoapps/courseware/grades.py
@@ -145,15 +145,11 @@ def progress_summary(student, course, grader, student_module_cache):
              instance_modules for the student
     """
     chapters = []
-    for c in course.get_children():
-        # Don't include chapters that aren't displayable (e.g. due to error)
-        if c not in c.displayable_items():
-            continue
+    # Don't include chapters that aren't displayable (e.g. due to error)
+    for c in course.get_display_items():
         sections = []
-        for s in c.get_children():
+        for s in c.get_display_items():
             # Same for sections
-            if s not in s.displayable_items():
-                continue
             graded = s.metadata.get('graded', False)
             scores = []
             for module in yield_module_descendents(s):