diff --git a/Socket/ClientSocketHandle.cti b/Socket/ClientSocketHandle.cti
index b3c124045888b1559cb0ebe079467f9988fbf2f7..96508800fb8eb0c57bf000b783f9d2d6c79abd76 100644
--- a/Socket/ClientSocketHandle.cti
+++ b/Socket/ClientSocketHandle.cti
@@ -141,7 +141,9 @@ senf::ClientSocketHandle<Policy>::operator=(ClientSocketHandle<OtherPolicy> othe
 template <class Policy>
 template <class ForwardWritableRange>
 prefix_ typename boost::range_iterator<ForwardWritableRange>::type
-senf::ClientSocketHandle<Policy>::read(ForwardWritableRange const & range)
+senf::ClientSocketHandle<Policy>::
+read(ForwardWritableRange const & range,
+     typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type *)
 {
     return detail::ReadRange< 
         ClientSocketHandle<Policy>, 
@@ -155,7 +157,9 @@ senf::ClientSocketHandle<Policy>::read(ForwardWritableRange const & range)
 template <class Policy>
 template <class ForwardWritableRange>
 prefix_ typename boost::range_iterator<ForwardWritableRange>::type
-senf::ClientSocketHandle<Policy>::read(ForwardWritableRange & range)
+senf::ClientSocketHandle<Policy>::
+read(ForwardWritableRange & range,
+     typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type *)
 {
     return detail::ReadRange< 
         ClientSocketHandle<Policy>, 
diff --git a/Socket/ClientSocketHandle.hh b/Socket/ClientSocketHandle.hh
index 07f20693057c1a9f0e96dd5dfc86ab7b5c8bb22c..befb826aaba21fe310e8c68def9d4ecee3800841 100644
--- a/Socket/ClientSocketHandle.hh
+++ b/Socket/ClientSocketHandle.hh
@@ -30,6 +30,8 @@
 // Custom includes
 #include <boost/call_traits.hpp>
 #include <boost/range.hpp>
+#include <boost/utility.hpp>
+#include <boost/type_traits.hpp>
 #include "SocketHandle.hh"
 
 //#include "ClientSocketHandle.mpp"
@@ -173,7 +175,8 @@ namespace senf {
         std::string  read         (unsigned limit=0);
         template <class ForwardWritableRange>
         typename boost::range_iterator<ForwardWritableRange>::type
-                     read         (ForwardWritableRange const & range);
+                     read         (ForwardWritableRange const & range,
+                                   typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type * = 0);
                                         ///< Read data into range
                                         /**< Read data into the given range. At most
                                              <tt>boost::size(range)</tt> characters are read. The
@@ -188,7 +191,8 @@ namespace senf {
                                                   <a href="http://www.boost.org/libs/range/index.html">Boost.Range</a> */
         template <class ForwardWritableRange>
         typename boost::range_iterator<ForwardWritableRange>::type
-                     read         (ForwardWritableRange & range);
+                     read         (ForwardWritableRange & range,
+                                   typename boost::disable_if< boost::is_convertible<ForwardWritableRange,unsigned> >::type * = 0);
                                         ///< Read data into range
                                         /**< \see read(ForwardWritableRange const &) \n
                                                   read() \n