diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index 6d80145b29c7..8569abeb09cc 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -993,7 +993,7 @@
Math.min(results_returned[fullId].lev, returned);
}
if (index !== -1 || lev <= MAX_LEV_DISTANCE) {
- if (index !== -1) {
+ if (index !== -1 && paths.length < 2) {
lev = 0;
}
if (results[fullId] === undefined) {
diff --git a/src/test/rustdoc-js/pinbox-new.js b/src/test/rustdoc-js/pinbox-new.js
new file mode 100644
index 000000000000..9d2bf1b4551e
--- /dev/null
+++ b/src/test/rustdoc-js/pinbox-new.js
@@ -0,0 +1,18 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 or the MIT license
+// , at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+const QUERY = 'pinbox::new';
+
+const EXPECTED = {
+ 'others': [
+ { 'path': 'std::boxed::PinBox', 'name': 'new' },
+ { 'path': 'alloc::boxed::PinBox', 'name': 'new' },
+ ],
+};
diff --git a/src/test/rustdoc-js/vec-new.js b/src/test/rustdoc-js/vec-new.js
new file mode 100644
index 000000000000..702953e2e9dd
--- /dev/null
+++ b/src/test/rustdoc-js/vec-new.js
@@ -0,0 +1,19 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 or the MIT license
+// , at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+const QUERY = 'Vec::new';
+
+const EXPECTED = {
+ 'others': [
+ { 'path': 'std::vec::Vec', 'name': 'new' },
+ { 'path': 'std::vec::Vec', 'name': 'ne' },
+ { 'path': 'std::boxed::PinBox', 'name': 'new' },
+ ],
+};