diff --git a/src/librustc_unicode/char.rs b/src/librustc_unicode/char.rs
index 3824dd0e4368c..455e2feee4c2f 100644
--- a/src/librustc_unicode/char.rs
+++ b/src/librustc_unicode/char.rs
@@ -386,9 +386,10 @@ impl char {
     /// Returns the number of 16-bit code units this `char` would need if
     /// encoded in UTF-16.
     ///
-    /// See the documentation for [`len_utf8()`][len_utf8] for more explanation
-    /// of this concept. This function is a mirror, but for UTF-16 instead of
-    /// UTF-8.
+    /// See the documentation for [`len_utf8()`] for more explanation of this
+    /// concept. This function is a mirror, but for UTF-16 instead of UTF-8.
+    ///
+    /// [`len_utf8()`]: #method.len_utf8
     ///
     /// # Examples
     ///
diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs
index fd422d3b39717..afeb4231aba48 100644
--- a/src/libstd/primitive_docs.rs
+++ b/src/libstd/primitive_docs.rs
@@ -350,7 +350,7 @@ mod prim_slice { }
 /// ```
 ///
 /// [`.as_ptr()`]: #method.as_ptr
-/// [`len()`]: # method.len
+/// [`len()`]: #method.len
 mod prim_str { }
 
 #[doc(primitive = "tuple")]