diff --git a/src/graphmap.rs b/src/graphmap.rs
index 8a4d97c..bb76e5e 100644
--- a/src/graphmap.rs
+++ b/src/graphmap.rs
@@ -348,6 +348,7 @@
                 Some(neigh) => neigh.iter(),
                 None => [].iter(),
             },
+            start_node: a,
             dir: dir,
             ty: self.ty,
         }
@@ -531,6 +532,7 @@
           Ty: EdgeType,
 {
     iter: Iter<'a, (N, CompactDirection)>,
+    start_node: N,
     dir: Direction,
     ty: PhantomData<Ty>,
 }
@@ -543,8 +545,9 @@
     fn next(&mut self) -> Option<N> {
         if Ty::is_directed() {
             let self_dir = self.dir;
+            let start_node = self.start_node;
             (&mut self.iter)
-                .filter_map(move |&(n, dir)| if dir == self_dir {
+                .filter_map(move |&(n, dir)| if dir == self_dir || n == start_node {
                     Some(n)
                 } else { None })
                 .next()
diff --git a/tests/graphmap.rs b/tests/graphmap.rs
index 51b37e6..02362ef 100644
--- a/tests/graphmap.rs
+++ b/tests/graphmap.rs
@@ -298,4 +298,41 @@
     for (start, end, weight) in graph.all_edges() {
         assert_eq!((start + end) * 2, *weight);
     }
-}
\ No newline at end of file
+}
+
+#[test]
+fn neighbors_incoming_includes_self_loops() {
+    let mut graph = DiGraphMap::new();
+
+    let node = graph.add_node(());
+    graph.add_edge(node, node, ());
+
+    let mut neighbors = graph.neighbors_directed(node, Incoming);
+    assert_eq!(neighbors.next(), Some(node));
+    assert_eq!(neighbors.next(), None);
+}
+
+#[test]
+fn undirected_neighbors_includes_self_loops() {
+    let mut graph = UnGraphMap::new();
+
+    let node = graph.add_node(());
+    graph.add_edge(node, node, ());
+
+    let mut neighbors = graph.neighbors(node);
+    assert_eq!(neighbors.next(), Some(node));
+    assert_eq!(neighbors.next(), None);
+}
+
+#[test]
+fn self_loops_can_be_removed() {
+    let mut graph = DiGraphMap::new();
+
+    let node = graph.add_node(());
+    graph.add_edge(node, node, ());
+
+    graph.remove_edge(node, node);
+
+    assert_eq!(graph.neighbors_directed(node, Outgoing).next(), None);
+    assert_eq!(graph.neighbors_directed(node, Incoming).next(), None);
+}
