Index: multicast.cpp
===================================================================
--- multicast.cpp	(revision 41243)
+++ multicast.cpp	(working copy)
@@ -133,7 +133,7 @@
   BOOST_CHECK(have_v4 || have_v6);
 
   const ip::address multicast_address_v4 =
-    ip::address::from_string("239.255.0.1", ec);
+    ip::address::from_string("239.0.0.4", ec);
   BOOST_CHECK(!have_v4 || !ec);
 
   const ip::address multicast_address_v6 =
@@ -261,9 +261,8 @@
     ip::multicast::enable_loopback enable_loopback2;
     sock_v4.get_option(enable_loopback2, ec);
 #if defined(BOOST_WINDOWS) && defined(UNDER_CE)
-    // Option is not supported under Windows CE.
-    BOOST_CHECK_MESSAGE(ec == boost::asio::error::no_protocol_option,
-        ec.value() << ", " << ec.message());
+    // Option can be got but not set under Windows
+    BOOST_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
 #else // defined(BOOST_WINDOWS) && defined(UNDER_CE)
     BOOST_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
     BOOST_CHECK(enable_loopback2.value());
@@ -287,9 +286,8 @@
     ip::multicast::enable_loopback enable_loopback4;
     sock_v4.get_option(enable_loopback4, ec);
 #if defined(BOOST_WINDOWS) && defined(UNDER_CE)
-    // Option is not supported under Windows CE.
-    BOOST_CHECK_MESSAGE(ec == boost::asio::error::no_protocol_option,
-        ec.value() << ", " << ec.message());
+    // Option can be got but not set under Windows
+    BOOST_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
 #else // defined(BOOST_WINDOWS) && defined(UNDER_CE)
     BOOST_CHECK_MESSAGE(!ec, ec.value() << ", " << ec.message());
     BOOST_CHECK(!enable_loopback4.value());
