diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f3f965d25e9f207f2f10a97232646b4c64f09a8b..d32dc805d698e7c978c29452e1b0f0cefb9d2479 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
+
+	* include/bits/stl_algo.h (remove): Remove too restrictive
+	concept-check.
+
 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
 
 	* include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index 6fed5786ebd10b75c500bf31e82b826737cef286..a5118c57208032fba1d8df783f7cecd2b7adfe3a 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -1103,8 +1103,6 @@ namespace std
       // concept requirements
       __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
 				  _ForwardIterator>)
-      __glibcxx_function_requires(_ConvertibleConcept<_Tp,
-	    typename iterator_traits<_ForwardIterator>::value_type>)
       __glibcxx_function_requires(_EqualOpConcept<
 	    typename iterator_traits<_ForwardIterator>::value_type, _Tp>)
       __glibcxx_requires_valid_range(__first, __last);