diff --git a/lib/Bytecode/Reader/ConstantReader.cpp b/lib/Bytecode/Reader/ConstantReader.cpp
index ad27739..7da3a17 100644
--- a/lib/Bytecode/Reader/ConstantReader.cpp
+++ b/lib/Bytecode/Reader/ConstantReader.cpp
@@ -14,8 +14,8 @@
 #include "llvm/GlobalVariable.h"
 #include <algorithm>
 #include <iostream>
+
 using std::make_pair;
-using std::cerr;
 
 const Type *BytecodeParser::parseTypeConstant(const uchar *&Buf,
 					      const uchar *EndBuf) {
@@ -91,8 +91,9 @@
   }
 
   default:
-    cerr << __FILE__ << ":" << __LINE__ << ": Don't know how to deserialize"
-         << " primitive Type " << PrimType << "\n";
+    std::cerr << __FILE__ << ":" << __LINE__
+	      << ": Don't know how to deserialize"
+	      << " primitive Type " << PrimType << "\n";
     return failure(Val);
   }
 }
@@ -325,9 +326,9 @@
   }
 
   default:
-    cerr << __FILE__ << ":" << __LINE__ 
-	 << ": Don't know how to deserialize constant value of type '"
-	 << Ty->getName() << "'\n";
+    std::cerr << __FILE__ << ":" << __LINE__ 
+	      << ": Don't know how to deserialize constant value of type '"
+	      << Ty->getName() << "'\n";
     return failure(true);
   }
 
diff --git a/lib/Bytecode/Reader/ReaderInternals.h b/lib/Bytecode/Reader/ReaderInternals.h
index 4a21962..f98db72 100644
--- a/lib/Bytecode/Reader/ReaderInternals.h
+++ b/lib/Bytecode/Reader/ReaderInternals.h
@@ -15,12 +15,13 @@
 #include <map>
 #include <utility>
 #include <list>
+#include <iostream>
 
 // Enable to trace to figure out what the heck is going on when parsing fails
 #define TRACE_LEVEL 0
 
 #if TRACE_LEVEL    // ByteCodeReading_TRACEer
-#define BCR_TRACE(n, X) if (n < TRACE_LEVEL) cerr << std::string(n*2, ' ') << X
+#define BCR_TRACE(n, X) if (n < TRACE_LEVEL) std::cerr << std::string(n*2, ' ') << X
 #else
 #define BCR_TRACE(n, X)
 #endif
@@ -51,7 +52,7 @@
   std::string getError() const { return Error; }
 
   void dump() const {
-    cerr << "BytecodeParser instance!\n";
+    std::cerr << "BytecodeParser instance!\n";
   }
 
 private:          // All of this data is transient across calls to ParseBytecode
@@ -167,7 +168,7 @@
 			     unsigned &Type, unsigned &Size) {
 #if DEBUG_OUTPUT
   bool Result = read(Buf, EndBuf, Type) || read(Buf, EndBuf, Size);
-  cerr << "StartLoc = " << ((unsigned)Buf & 4095)
+  std::cerr << "StartLoc = " << ((unsigned)Buf & 4095)
        << " Type = " << Type << " Size = " << Size << endl;
   return Result;
 #else
diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp
index 5545834..75a25f2 100644
--- a/lib/Bytecode/Writer/Writer.cpp
+++ b/lib/Bytecode/Writer/Writer.cpp
@@ -199,7 +199,7 @@
   }
 }
 
-void WriteBytecodeToFile(const Module *C, ostream &Out) {
+void WriteBytecodeToFile(const Module *C, std::ostream &Out) {
   assert(C && "You can't write a null module!!");
 
   std::deque<unsigned char> Buffer;
