diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 7408580..b040df3 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1564,7 +1564,7 @@
 
 bool BitcodeReader::materializeFunction(Function *F, std::string *ErrInfo) {
   // If it already is material, ignore the request.
-  if (!F->hasNotBeenReadFromBytecode()) return false;
+  if (!F->hasNotBeenReadFromBitcode()) return false;
   
   DenseMap<Function*, std::pair<uint64_t, unsigned> >::iterator DFII = 
     DeferredFunctionInfo.find(F);
@@ -1585,7 +1585,7 @@
 
 void BitcodeReader::dematerializeFunction(Function *F) {
   // If this function isn't materialized, or if it is a proto, this is a noop.
-  if (F->hasNotBeenReadFromBytecode() || F->isDeclaration())
+  if (F->hasNotBeenReadFromBitcode() || F->isDeclaration())
     return;
   
   assert(DeferredFunctionInfo.count(F) && "No info to read function later?");
@@ -1601,7 +1601,7 @@
        DeferredFunctionInfo.begin(), E = DeferredFunctionInfo.end(); I != E;
        ++I) {
     Function *F = I->first;
-    if (F->hasNotBeenReadFromBytecode() &&
+    if (F->hasNotBeenReadFromBitcode() &&
         materializeFunction(F, ErrInfo))
       return 0;
   }
