diff --git a/Socket/SConscript b/Socket/SConscript
index 15e931ab35bed0f3534a8a935cd885c03974f4b9..5887b53ad15d42b7ebf732cc7af9326ae810b192 100644
--- a/Socket/SConscript
+++ b/Socket/SConscript
@@ -19,6 +19,8 @@ SENFSCons.Doxygen(env, extra_sources = [
     env.Dia2Png('FhHierarchy.dia'),
     env.Command('doc/html/SocketPolicy.png', env.Dia2Png('SocketPolicy.dia'),
                 Copy('$TARGET','$SOURCE')),
-    env.Dia2Png('Protocols.dia'),
+    env.Command('doc/html/Protocols.png', env.Dia2Png('Protocols.dia'),
+                Copy('$TARGET','$SOURCE')),
     env.Dia2Png('Handle.dia'),
 ])
+
diff --git a/Socket/SocketProtocol.hh b/Socket/SocketProtocol.hh
index 1f962e353e0cc9a5b855a412305c4daaa28b1bd5..c829647441f050e79bf9fd7a69c4376b30e296b1 100644
--- a/Socket/SocketProtocol.hh
+++ b/Socket/SocketProtocol.hh
@@ -37,7 +37,22 @@
 
 /** \defgroup protocol_group The Protocol Classes
 
-    \image html Protocols.png
+    \htmlonly
+    <map name="protocols">
+      <area shape="rect" alt="SocketPolicy" href="structsenf_1_1SocketPolicy.html" title="SocketPolicy" coords="416,50,536,68" />
+      <area shape="rect" alt="ConcreteSocketProtocol" href="classsenf_1_1ConcreteSocketProtocol.html" title="ConcreteSocketProtocol" coords="268,65,456,88" />
+      <area shape="rect" alt="SocketProtocol" href="classsenf_1_1SocketProtocol.html" title="SocketProtocol" coords="1,2,120,26" />
+      <area shape="rect" alt="BSDSocketProtocol" href="classsenf_1_1BSDSocketProtocol.html" title="BSDSocketProtocol" coords="124,118,276,143" />
+      <area shape="rect" alt="AddressableBSDSocketProtocol" href="classsenf_1_1AddressableBSDSocketProtocol.html" title="AddressableBSDSocketProtocol" coords="82,200,314,224" />
+      <area shape="rect" alt="IPv4Protocol" href="classsenf_1_1IPv4Protocol.html" title="IPv4Protocol" coords="149,272,252,296" />
+      <area shape="rect" alt="IPv6Protocol" href="classsenf_1_1IPv6Protocol.html" title="IPv6Protocol" coords="149,335,251,359" />
+      <area shape="rect" alt="TCPProtocol" href="classsenf_1_1TCPProtocol.html" title="TCPProtocol" coords="151,398,248,420" />
+      <area shape="rect" alt="TCPv4SocketProtocol" href="classsenf_1_1TCPv4SocketProtocol.html" title="TCPv4SocketProtocol" coords="288,471,405,494" />
+      <area shape="rect" alt="TCPv6SocketProtocol" href="classsenf_1_1TCPv6SocketProtocol.html" title="TCPv6SocketProtocol" coords="424,470,540,494" />
+      <area shape="rect" alt="PacketProtocol" href="classsenf_1_1PacketProtocol.html" title="PacketProtocol" coords="560,469,680,495" />
+    </map>
+    <img src="Protocols.png" border="0" alt="Protocols" usemap="#protocols">
+    \endhtmlonly
 
     The socket handle classes and templates only implement the most important socket API methods
     using the policy framework. To access the complete API, the protocol interface is