diff --git a/kwsys_ios_sstream.h.in b/kwsys_ios_sstream.h.in
index 0470ef3daf0f298d4d918bc2f508a4572189df37..2fbab781edcd4908f8a39198c0cd16913230cb04 100644
--- a/kwsys_ios_sstream.h.in
+++ b/kwsys_ios_sstream.h.in
@@ -34,6 +34,7 @@
 # ifdef _MSC_VER
 #  pragma warning (push, 1)
 #  pragma warning (disable: 4702)
+#  pragma warning (disable: 4995) /* Old streams are deprecated.  */
 # endif
 # if @KWSYS_NAMESPACE@_IOS_USE_ANSI
 #  include <strstream>
@@ -42,6 +43,11 @@
 # elif @KWSYS_NAMESPACE@_IOS_USE_STRSTREA_H
 #  include <strstrea.h>
 # endif
+# if @KWSYS_NAMESPACE@_IOS_USE_ANSI
+#  include <new> // Need placement operator new.
+# else
+#  include <new.h> // Need placement operator new.
+# endif
 # ifdef _MSC_VER
 #  pragma warning(pop)
 # endif
@@ -50,7 +56,6 @@
 // ostringstream and istringstream classes.
 
 # include <@KWSYS_NAMESPACE@/stl/string>
-# include <new> // Need placement operator new.
 
 namespace @KWSYS_NAMESPACE@_ios
 {