diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs
index a9388793f330..e6dae7717921 100644
--- a/src/libcore/iter.rs
+++ b/src/libcore/iter.rs
@@ -1709,7 +1709,7 @@ fn find
(&mut self, mut predicate: P) -> Option where
/// Searches for an element in an iterator, returning its index.
///
/// `position()` takes a closure that returns `true` or `false`. It applies
- /// this closure to each element of the iterator, and if if one of them
+ /// this closure to each element of the iterator, and if one of them
/// returns `true`, then `position()` returns `Some(index)`. If all of
/// them return `false`, it returns `None`.
///
@@ -1772,7 +1772,7 @@ fn position(&mut self, mut predicate: P) -> Option where
///
/// `rposition()` takes a closure that returns `true` or `false`. It applies
/// this closure to each element of the iterator, starting from the end,
- /// and if if one of them returns `true`, then `rposition()` returns
+ /// and if one of them returns `true`, then `rposition()` returns
/// `Some(index)`. If all of them return `false`, it returns `None`.
///
/// `rposition()` is short-circuting; in other words, it will stop