diff --git a/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala b/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala
index a6604b978f9962b99431598bea9add18171a4c0e..e7a708e895b283d2d630b85cdf170b7b1e68b7e7 100644
--- a/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala
+++ b/graph/src/main/scala/org/apache/spark/graph/impl/GraphImpl.scala
@@ -275,6 +275,7 @@ class GraphImpl[VD: ClassManifest, ED: ClassManifest] protected (
         .groupBy { t: EdgeTriplet[VD, ED] =>  (t.srcId, t.dstId) }
         .mapValues { ts: List[EdgeTriplet[VD, ED]] => f(ts.toIterator) }
         .toList
+        .toIterator
         .map { case ((src, dst), data) => Edge(src, dst, data) }
       }