diff --git a/Socket/Protocols/Raw/MACAddress.cc b/Socket/Protocols/Raw/MACAddress.cc
index 4ab2e3f81f931a18583e465591a84ab46f3c11b7..c12b0ed4aaa3c324837b74c392c6d4daf01d016f 100644
--- a/Socket/Protocols/Raw/MACAddress.cc
+++ b/Socket/Protocols/Raw/MACAddress.cc
@@ -28,6 +28,8 @@
 
 // Custom includes
 #include <iomanip>
+#include <string>
+#include <sstream>
 #include <boost/tokenizer.hpp>
 #include <boost/io/ios_state.hpp>
 #include <boost/range.hpp>
@@ -105,6 +107,12 @@ prefix_ senf::MACAddress senf::MACAddress::from_eui64(boost::uint64_t v)
 senf::MACAddress const senf::MACAddress::Broadcast = senf::MACAddress(0xFFFFFFFFFFFFull);
 senf::MACAddress const senf::MACAddress::None;
 
+prefix_ std::string senf::MACAddress::toString() const {
+	std::ostringstream tmp; 
+	tmp << (*this);
+	return tmp.str();
+}
+
 ///////////////////////////////////////////////////////////////////////////
 // namespace members
 
diff --git a/Socket/Protocols/Raw/MACAddress.hh b/Socket/Protocols/Raw/MACAddress.hh
index 9165c059ea5ca1cb64c7b9b388f158f10cd7f5c9..de52a30736a0224d4ac91a973853640f65709d0d 100644
--- a/Socket/Protocols/Raw/MACAddress.hh
+++ b/Socket/Protocols/Raw/MACAddress.hh
@@ -67,7 +67,14 @@ namespace senf {
             INet6Address(0x2001u,0xDB8u,0x1u,0x0u,0x001Au,0x2BFFu,0xFE3Cu,0x3D5Fu).id())
         \endcode
 
-        Since MACAddress is based on \c boost::array, you can access the raw data bytes of the
+        Since MACAddress is based on \c boo Ziel, aber nur ein paar davon sind standardkomform.
+
+Der aktuelle C++ Standard unterstützt drei verschiedene Möglichkeiten eine Zahl in einen String umzuwandeln. Diese Möglichkeiten sind:
+
+    * sprintf
+    * std::strstream
+    * std::stringstream
+        st::array, you can access the raw data bytes of the
         address using \c begin(), \c end() or \c operator[]:
         \code
         MACAddress mac = ...;
@@ -128,6 +135,8 @@ namespace senf {
         boost::uint32_t nic() const;    ///< Return last 3 bytes of the address
         
         boost::uint64_t eui64() const;  ///< Build EUI-64 from the MAC address
+        
+        std::string toString() const; ///< Return string representation of MAC address like 12:34:56:78:90:ab
 
     };
 
diff --git a/Socket/Protocols/Raw/MACAddress.test.cc b/Socket/Protocols/Raw/MACAddress.test.cc
index d4126e00e2457d0558249502e3b0155a9aebf108..df256c9c97fa887fbc035ed7735e8e93909803a2 100644
--- a/Socket/Protocols/Raw/MACAddress.test.cc
+++ b/Socket/Protocols/Raw/MACAddress.test.cc
@@ -39,7 +39,8 @@
 
 BOOST_AUTO_UNIT_TEST(macAddress)
 {
-    senf::MACAddress mac (senf::MACAddress::from_string("A1-b2-C3:d4:E5:f6"));
+	std::string test ("A1-b2-C3:d4:E5:f6");
+    senf::MACAddress mac (senf::MACAddress::from_string(test));
 
     BOOST_CHECK_EQUAL( mac[0], 0xA1u );
     BOOST_CHECK_EQUAL( mac[1], 0xB2u );
@@ -51,7 +52,8 @@ BOOST_AUTO_UNIT_TEST(macAddress)
     std::stringstream str;
     str << mac;
     BOOST_CHECK_EQUAL( str.str(), "a1:b2:c3:d4:e5:f6" );
-
+    BOOST_CHECK_EQUAL (mac.toString(), "a1:b2:c3:d4:e5:f6");
+    
     BOOST_CHECK( ! mac.local() );
     BOOST_CHECK( mac.multicast() );
     BOOST_CHECK( ! mac.broadcast() );