diff --git a/src/libs/zeroconf/servicebrowser.cpp b/src/libs/zeroconf/servicebrowser.cpp
index 87b851341f27df570db03c9e7efcf6b3b4e0f497..1bea70db5854973e7ff2caa9ea2266a91efe961a 100644
--- a/src/libs/zeroconf/servicebrowser.cpp
+++ b/src/libs/zeroconf/servicebrowser.cpp
@@ -268,19 +268,26 @@ namespace ZeroConf {
   \threadsafe
  */
 
-Service::Service(const Service&o):
-    QObject(0), m_name(o.m_name), m_type(o.m_type), m_domain(o.m_domain), m_fullName(o.m_fullName), m_port(o.m_port), m_txtRecord(o.m_txtRecord),
-    m_host((o.m_host != 0)?(new QHostInfo(*o.m_host)):o.m_host), m_interfaceNr(o.m_interfaceNr), m_outdated(o.m_outdated)
+Service::Service(const Service &o) :
+    QObject(0),
+    m_name(o.m_name),
+    m_type(o.m_type),
+    m_domain(o.m_domain),
+    m_fullName(o.m_fullName),
+    m_port(o.m_port),
+    m_txtRecord(o.m_txtRecord),
+    m_host(o.m_host ? new QHostInfo(*o.m_host) : 0),
+    m_interfaceNr(o.m_interfaceNr),
+    m_outdated(o.m_outdated)
 {
 }
 
-Service::Service(QObject *parent):
-    QObject(parent), m_name(), m_type(), m_domain(), m_fullName(), m_port(), m_txtRecord(), m_host(0), m_interfaceNr(0), m_outdated(false)
+Service::Service(QObject *parent) : QObject(parent), m_host(0), m_interfaceNr(0), m_outdated(false)
 { }
 
 Service::~Service()
 {
-    if (m_host) delete m_host;
+    delete m_host;
 }
 
 QDebug operator<<(QDebug dbg, const Service &service)
diff --git a/src/libs/zeroconf/servicebrowser.h b/src/libs/zeroconf/servicebrowser.h
index 99dc4da71a8f38ae21c915f29d1baa62e14caa17..7594ead0b6eecc7693c24ec801ddee5501343c4c 100644
--- a/src/libs/zeroconf/servicebrowser.h
+++ b/src/libs/zeroconf/servicebrowser.h
@@ -39,7 +39,8 @@
 #include <QtCore/QObject>
 #include <QtCore/QSharedPointer>
 #include <QtCore/QStringList>
-class QHostInfo;
+
+QT_FORWARD_DECLARE_CLASS(QHostInfo)
 
 namespace ZeroConf {