diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index 4558ccaae88e3ed544085ffdc24bec71574ac873..28936dc62e659d317a58189f783240b979b6dac5 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -124,6 +124,16 @@ void CodepasterPlugin::extensionsInitialized()
         ->getObject<ProjectExplorer::ProjectExplorerPlugin>();
 }
 
+QString CodepasterPlugin::serverUrl() const
+{
+    QString url = m_settingsPage->serverUrl().toString();
+    if (url.startsWith("http://"))
+        url = url.mid(7);
+    if (url.endsWith('/'))
+        url.chop(1);
+    return url;
+}
+
 void CodepasterPlugin::post()
 {
     if (m_poster)
@@ -171,7 +181,8 @@ void CodepasterPlugin::post()
     data = view.getContent();
 
     // Submit to codepaster
-    m_poster = new CustomPoster(m_settingsPage->serverUrl().toString());
+
+    m_poster = new CustomPoster(serverUrl());
 
     // Copied from cpaster. Otherwise lineendings will screw up
     if (!data.contains("\r\n")) {
@@ -187,7 +198,7 @@ void CodepasterPlugin::fetch()
 {
     if (m_fetcher)
         delete m_fetcher;
-    m_fetcher = new CustomFetcher(m_settingsPage->serverUrl().toString());
+    m_fetcher = new CustomFetcher(serverUrl());
 
     QDialog dialog;
     Ui_PasteSelectDialog ui;
@@ -208,7 +219,7 @@ void CodepasterPlugin::fetch()
         return;
 
     delete m_fetcher;
-    m_fetcher = new CustomFetcher(m_settingsPage->serverUrl().toString());
+    m_fetcher = new CustomFetcher(serverUrl());
     m_fetcher->fetch(pasteID);
 }
 
diff --git a/src/plugins/cpaster/cpasterplugin.h b/src/plugins/cpaster/cpasterplugin.h
index 56c41144a96e7882c0636f5837020ff931d97b90..3658169c6cbbd04c0ac975c050b651871d769273 100644
--- a/src/plugins/cpaster/cpasterplugin.h
+++ b/src/plugins/cpaster/cpasterplugin.h
@@ -70,6 +70,7 @@ public slots:
     void fetch();
 
 private:
+    QString serverUrl() const;
 
     QAction *m_postAction;
     QAction *m_fetchAction;