diff --git a/common/NetworkHandler.cc b/common/NetworkHandler.cc
index e526781c6d219ee155e5801ced45c985919959a4..38411c8929939c8b3cae6b224ede3aae33bff86f 100644
--- a/common/NetworkHandler.cc
+++ b/common/NetworkHandler.cc
@@ -249,7 +249,7 @@ bool IPv4Address::operator!=(const IPAddress& p_addr) const
   return !(*this == p_addr);
 }
 
-IPAddress& IPv4Address::operator=(const IPAddress& p_addr)
+IPv4Address& IPv4Address::operator=(const IPAddress& p_addr)
 {
   clean_up();
   memcpy(&m_addr, &(static_cast<const IPv4Address&>(p_addr)).m_addr, sizeof(m_addr));
@@ -390,7 +390,7 @@ bool IPv6Address::operator!=(const IPAddress& p_addr) const
   return !(*this == p_addr);
 }
 
-IPAddress& IPv6Address::operator=(const IPAddress& p_addr)
+IPv6Address& IPv6Address::operator=(const IPAddress& p_addr)
 {
   clean_up();
   memcpy(&m_addr, &(static_cast<const IPv6Address&>(p_addr)).m_addr, sizeof(m_addr));
diff --git a/common/NetworkHandler.hh b/common/NetworkHandler.hh
index a000b02568b9035d6b9967b373b8d62ef7ca6866..a7f6aec94f935ecdbebcd82ecf755699982f45d1 100644
--- a/common/NetworkHandler.hh
+++ b/common/NetworkHandler.hh
@@ -93,7 +93,7 @@ public:
 
   bool operator==(const IPAddress& p_addr) const;
   bool operator!=(const IPAddress& p_addr) const;
-  IPAddress& operator=(const IPAddress& p_addr);
+  IPv4Address& operator=(const IPAddress& p_addr);
   void push_raw(Text_Buf& p_buf) const;
   void pull_raw(Text_Buf& p_buf);
   void clean_up();
@@ -126,7 +126,7 @@ public:
 
   bool operator==(const IPAddress& p_addr) const;
   bool operator!=(const IPAddress& p_addr) const;
-  IPAddress& operator=(const IPAddress& p_addr);
+  IPv6Address& operator=(const IPAddress& p_addr);
   void push_raw(Text_Buf& p_buf) const;
   void pull_raw(Text_Buf& p_buf);
   void clean_up();