diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs
index 341c9d820e6..2d7aab1b455 100644
--- a/src/librustc_passes/ast_validation.rs
+++ b/src/librustc_passes/ast_validation.rs
@@ -19,6 +19,7 @@
 use rustc::lint;
 use rustc::session::Session;
 use syntax::ast::*;
+use syntax::attr;
 use syntax::parse::token::{self, keywords};
 use syntax::visit::{self, Visitor};
 use syntax_pos::Span;
@@ -168,6 +169,10 @@ impl<'a> Visitor for AstValidator<'a> {
                     }
                 }
             }
+            ItemKind::Mod(_) => {
+                // Ensure that `path` attributes on modules are recorded as used (c.f. #35584).
+                attr::first_attr_value_str_by_name(&item.attrs, "path");
+            }
             _ => {}
         }