diff --git a/lib/Serialization/ASTWriterStmt.cpp b/lib/Serialization/ASTWriterStmt.cpp
index b5bb4211f938ee8646d6f9eca6838a81c47d01f4..39d6361303fac69bc81b25258860d35689ea82c2 100644
--- a/lib/Serialization/ASTWriterStmt.cpp
+++ b/lib/Serialization/ASTWriterStmt.cpp
@@ -2417,7 +2417,8 @@ void ASTWriter::WriteSubStmt(Stmt *S) {
 
   Writer.Visit(S);
   
-  SubStmtEntries[S] = Writer.Emit();
+  uint64_t Offset = Writer.Emit();
+  SubStmtEntries[S] = Offset;
 }
 
 /// \brief Flush all of the statements that have been added to the