diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index d1a799555531b704ed33eff3b9136927f3f86b8a..d8bc1126d680c9071d4689097b3bf44f570e53c5 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-05  Ben Elliston  <bje@au.ibm.com>
+
+	* src/strstream.cc (strstreambuf::seekoff): Add parentheses around
+	truth expression to eliminate a new warning from g++.
+
 2006-12-29  Paolo Carlini  <pcarlini@suse.de>
 
 	PR libstdc++/30226
diff --git a/libstdc++-v3/src/strstream.cc b/libstdc++-v3/src/strstream.cc
index f2214549ab7ccac12ddc0625614ff2b31ab0e090..3c5d8be839e963100be3d443396cd9fb20c54242 100644
--- a/libstdc++-v3/src/strstream.cc
+++ b/libstdc++-v3/src/strstream.cc
@@ -235,7 +235,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
     if ((mode & (ios_base::in | ios_base::out)) 
 	== (ios_base::in | ios_base::out) &&
 	(dir == ios_base::beg || dir == ios_base::end))
-      do_get = do_put = true;
+      do_get = (do_put = true);
     else if (mode & ios_base::in)
       do_get = true;
     else if (mode & ios_base::out)