diff --git a/src/plugins/cpaster/codepasterprotocol.cpp b/src/plugins/cpaster/codepasterprotocol.cpp
index f86c9f800b65d8b3c4987971c1e89bb09bf3190d..dcf2159bb108032b991851e51c18dcd494053461 100644
--- a/src/plugins/cpaster/codepasterprotocol.cpp
+++ b/src/plugins/cpaster/codepasterprotocol.cpp
@@ -71,17 +71,17 @@ unsigned CodePasterProtocol::capabilities() const
     return ListCapability|PostCommentCapability|PostDescriptionCapability;
 }
 
-bool CodePasterProtocol::isValidHostName(const QString& hostName)
+bool CodePasterProtocol::checkConfiguration(QString *errorMessage) const
 {
-    if (hostName.isEmpty()) {
-        Core::ICore::instance()->messageManager()->printToOutputPane(
+    if (m_page->hostName().isEmpty()) {
+        if (errorMessage) {
+            *errorMessage =
 #ifdef Q_OS_MAC
-                       tr("No Server defined in the CodePaster preferences."),
+                       tr("No Server defined in the CodePaster preferences.");
 #else
-                       tr("No Server defined in the CodePaster options."),
+                       tr("No Server defined in the CodePaster options.");
 #endif
-                       true /*error*/);
-        Core::ICore::instance()->messageManager()->showOutputPane();
+        }
         return false;
     }
     return true;
@@ -92,8 +92,6 @@ void CodePasterProtocol::fetch(const QString &id)
     QTC_ASSERT(!m_fetchReply, return; )
 
     QString hostName = m_page->hostName();
-    if (!isValidHostName(hostName))
-        return;
     QString link = "http://";
     link.append(hostName);
     link.append("/?format=raw&id=");
@@ -108,8 +106,6 @@ void CodePasterProtocol::list()
     QTC_ASSERT(!m_listReply, return; )
 
     QString hostName = m_page->hostName();
-    if (!isValidHostName(hostName))
-        return;
     QString link = QLatin1String("http://");
     link += hostName;
     link += QLatin1String("/?command=browse&format=raw");
@@ -125,8 +121,6 @@ void CodePasterProtocol::paste(const QString &text,
 {
     QTC_ASSERT(!m_pasteReply, return; )
     const QString hostName = m_page->hostName();
-    if (!isValidHostName(hostName))
-        return;
 
     QByteArray data = "command=processcreate&submit=submit&highlight_type=0&description=";
     data += QUrl::toPercentEncoding(description);
@@ -165,7 +159,7 @@ bool CodePasterProtocol::hasSettings() const
     return true;
 }
 
-Core::IOptionsPage *CodePasterProtocol::settingsPage()
+Core::IOptionsPage *CodePasterProtocol::settingsPage() const
 {
     return m_page;
 }
diff --git a/src/plugins/cpaster/codepasterprotocol.h b/src/plugins/cpaster/codepasterprotocol.h
index 554169fd19463733f2c4cf40fc0c2cc8b854db2a..e899248ad07c93bbe8566c52d60122195dd5b705 100644
--- a/src/plugins/cpaster/codepasterprotocol.h
+++ b/src/plugins/cpaster/codepasterprotocol.h
@@ -51,8 +51,9 @@ public:
 
     virtual unsigned capabilities() const;
     bool hasSettings() const;
-    Core::IOptionsPage *settingsPage();
+    Core::IOptionsPage *settingsPage() const;
 
+    virtual bool checkConfiguration(QString *errorMessage = 0) const;
     void fetch(const QString &id);
     void list();
     void paste(const QString &text,
@@ -66,7 +67,6 @@ public slots:
     void pasteFinished();
 
 private:
-    bool isValidHostName(const QString& hostName);
     CodePasterSettingsPage *m_page;
     QNetworkReply *m_pasteReply;
     QNetworkReply *m_fetchReply;