diff --git a/graph/src/main/scala/org/apache/spark/graph/Pregel.scala b/graph/src/main/scala/org/apache/spark/graph/Pregel.scala
index d1f5513f6aae37b7f532cf483891340c977238eb..2e3f86a3f0aa6fdfdfb903268fe30952580da576 100644
--- a/graph/src/main/scala/org/apache/spark/graph/Pregel.scala
+++ b/graph/src/main/scala/org/apache/spark/graph/Pregel.scala
@@ -50,7 +50,7 @@ object Pregel {
     def mapF(vid: Vid, edge: EdgeTriplet[VD,ED]) = sendMsg(edge.otherVertexId(vid), edge)
 
     // Receive the first set of messages
-    g.mapVertices( (vid, vdata) => vprog(vid, vdata, initialMsg))
+    g = g.mapVertices( (vid, vdata) => vprog(vid, vdata, initialMsg))
 
     while (i < numIter) {
       // compute the messages