diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6dfa61ead49a3b4742e7038d9aea7c4ff06a46ce..f3f965d25e9f207f2f10a97232646b4c64f09a8b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-17  Paolo Carlini  <pcarlini@suse.de>
+
+	* include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
+	as per Nathan's original suggestion.
+
 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
 
 	* testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index d3ea37ffab11e79b8e93922ad0e467c87692fe8d..25a4d48cb7207c6093b64a16c29e1329c340b4b3 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -527,7 +527,7 @@ namespace std
 	     {
 	       if (__avail == 1)
 		 *__s = *this->gptr();
-	       else if (__avail > 1)
+	       else
 		 traits_type::copy(__s, this->gptr(), __avail);
 	       __s += __avail;
 	       this->gbump(__avail);