JSONCPP_OSTRINGSTREAM
diff --git a/include/json/assertions.h b/include/json/assertions.h
index fbec7ae..9c5f8bc 100644
--- a/include/json/assertions.h
+++ b/include/json/assertions.h
@@ -25,7 +25,7 @@
 
 # define JSON_FAIL_MESSAGE(message)                                            \
   {                                                                            \
-    std::ostringstream oss; oss << message;                                    \
+    JSONCPP_OSTRINGSTREAM oss; oss << message;                                    \
     Json::throwLogicError(oss.str());                                          \
     abort();                                                                   \
   }
@@ -38,7 +38,7 @@
 // release builds we abort, for a core-dump or debugger.
 # define JSON_FAIL_MESSAGE(message)                                            \
   {                                                                            \
-    std::ostringstream oss; oss << message;                                    \
+    JSONCPP_OSTRINGSTREAM oss; oss << message;                                    \
     assert(false && oss.str().c_str());                                        \
     abort();                                                                   \
   }
diff --git a/src/jsontestrunner/main.cpp b/src/jsontestrunner/main.cpp
index 35e4ea1..a0c88bd 100644
--- a/src/jsontestrunner/main.cpp
+++ b/src/jsontestrunner/main.cpp
@@ -178,7 +178,7 @@
     Json::Value const& root)
 {
   Json::StyledStreamWriter writer;
-  std::ostringstream sout;
+  JSONCPP_OSTRINGSTREAM sout;
   writer.write(sout, root);
   return sout.str();
 }
diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp
index 60e8676..1cb9ff8 100644
--- a/src/lib_json/json_reader.cpp
+++ b/src/lib_json/json_reader.cpp
@@ -2010,7 +2010,7 @@
     CharReader::Factory const& fact, std::istream& sin,
     Value* root, std::string* errs)
 {
-  std::ostringstream ssin;
+  JSONCPP_OSTRINGSTREAM ssin;
   ssin << sin.rdbuf();
   std::string doc = ssin.str();
   char const* begin = doc.data();
diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp
index 5eed717..1ed67b1 100644
--- a/src/lib_json/json_writer.cpp
+++ b/src/lib_json/json_writer.cpp
@@ -217,7 +217,7 @@
     // sequence from occurring.
     default:
       if (isControlCharacter(*c)) {
-        std::ostringstream oss;
+        JSONCPP_OSTRINGSTREAM oss;
         oss << "\\u" << std::hex << std::uppercase << std::setfill('0')
             << std::setw(4) << static_cast<int>(*c);
         result += oss.str();
@@ -295,7 +295,7 @@
     // sequence from occurring.
     default:
       if ((isControlCharacter(*c)) || (*c == 0)) {
-        std::ostringstream oss;
+        JSONCPP_OSTRINGSTREAM oss;
         oss << "\\u" << std::hex << std::uppercase << std::setfill('0')
             << std::setw(4) << static_cast<int>(*c);
         result += oss.str();
@@ -1200,7 +1200,7 @@
 }
 
 std::string writeString(StreamWriter::Factory const& builder, Value const& root) {
-  std::ostringstream sout;
+  JSONCPP_OSTRINGSTREAM sout;
   StreamWriterPtr const writer(builder.newStreamWriter());
   writer->write(root, &sout);
   return sout.str();
diff --git a/src/test_lib_json/jsontest.h b/src/test_lib_json/jsontest.h
index 01b9c40..4bce85f 100644
--- a/src/test_lib_json/jsontest.h
+++ b/src/test_lib_json/jsontest.h
@@ -82,7 +82,7 @@
 
   // Generic operator that will work with anything ostream can deal with.
   template <typename T> TestResult& operator<<(const T& value) {
-    std::ostringstream oss;
+    JSONCPP_OSTRINGSTREAM oss;
     oss.precision(16);
     oss.setf(std::ios_base::floatfield);
     oss << value;
diff --git a/src/test_lib_json/main.cpp b/src/test_lib_json/main.cpp
index 30136b0..92ad68e 100644
--- a/src/test_lib_json/main.cpp
+++ b/src/test_lib_json/main.cpp
@@ -2480,13 +2480,13 @@
 
   for(int i = 9; i < 12; ++i)
   {
-    std::ostringstream out;
+    JSONCPP_OSTRINGSTREAM out;
     out << std::setw(2) << i;
     std::string str = out.str();
     value[str] = str;
   }
 
-  std::ostringstream out;
+  JSONCPP_OSTRINGSTREAM out;
   //in old code, this will get a compile error
   Json::Value::const_iterator iter = value.begin();
   for(; iter != value.end(); ++iter)