diff --git a/src/plugins/cpaster/fileshareprotocol.cpp b/src/plugins/cpaster/fileshareprotocol.cpp
index 0663a5463fa410bdf8ea2d30e07e53e921042ec8..ef3f4eb9f62c6714f43571ee84671ac266213f52 100644
--- a/src/plugins/cpaster/fileshareprotocol.cpp
+++ b/src/plugins/cpaster/fileshareprotocol.cpp
@@ -69,7 +69,7 @@ QString FileShareProtocol::name() const
 
 unsigned FileShareProtocol::capabilities() const
 {
-    return ListCapability|PostDescriptionCapability;
+    return ListCapability | PostDescriptionCapability | PostUserNameCapability;
 }
 
 bool FileShareProtocol::hasSettings() const
diff --git a/src/plugins/cpaster/kdepasteprotocol.cpp b/src/plugins/cpaster/kdepasteprotocol.cpp
index 2f62b80ca9f1c5d07140d7f7e307d3aa3a254086..782e5740195583f3162ccd34e8b029ac59177725 100644
--- a/src/plugins/cpaster/kdepasteprotocol.cpp
+++ b/src/plugins/cpaster/kdepasteprotocol.cpp
@@ -61,7 +61,7 @@ QString KdePasteProtocol::protocolName()
 
 unsigned KdePasteProtocol::capabilities() const
 {
-    return ListCapability;
+    return ListCapability | PostUserNameCapability;
 }
 
 bool KdePasteProtocol::checkConfiguration(QString *errorMessage)
diff --git a/src/plugins/cpaster/pastebindotcaprotocol.cpp b/src/plugins/cpaster/pastebindotcaprotocol.cpp
index 1592cd2fd749323731b5b2e53a572ca854b37555..2b29416f9bcb93d46cc088934298096ee6442f2f 100644
--- a/src/plugins/cpaster/pastebindotcaprotocol.cpp
+++ b/src/plugins/cpaster/pastebindotcaprotocol.cpp
@@ -49,7 +49,7 @@ PasteBinDotCaProtocol::PasteBinDotCaProtocol() :
 
 unsigned PasteBinDotCaProtocol::capabilities() const
 {
-    return ListCapability | PostDescriptionCapability;
+    return ListCapability | PostDescriptionCapability | PostUserNameCapability;
 }
 
 void PasteBinDotCaProtocol::fetch(const QString &id)
diff --git a/src/plugins/cpaster/pastebindotcomprotocol.cpp b/src/plugins/cpaster/pastebindotcomprotocol.cpp
index a7de02335a47bb3b139bc692b03e4c2db70a5527..4b0ded6d68c949fcc8feba3311bfe9cbbb34bcbd 100644
--- a/src/plugins/cpaster/pastebindotcomprotocol.cpp
+++ b/src/plugins/cpaster/pastebindotcomprotocol.cpp
@@ -66,7 +66,7 @@ QString PasteBinDotComProtocol::protocolName()
 
 unsigned PasteBinDotComProtocol::capabilities() const
 {
-    return ListCapability;
+    return ListCapability | PostDescriptionCapability;
 }
 
 static inline QByteArray format(Protocol::ContentType ct)
@@ -112,7 +112,7 @@ static inline QByteArray expirySpecification(int expiryDays)
 
 void PasteBinDotComProtocol::paste(const QString &text,
                                    ContentType ct, int expiryDays,
-                                   const QString &username,
+                                   const QString & /* username */, // Not used unless registered user
                                    const QString &comment,
                                    const QString &description)
 {
@@ -127,8 +127,8 @@ void PasteBinDotComProtocol::paste(const QString &text,
     pasteData += expirySpecification(expiryDays);
     pasteData += '&';
     pasteData += format(ct);
-    pasteData += "api_paste_name=";
-    pasteData += QUrl::toPercentEncoding(username);
+    pasteData += "api_paste_name="; // Title or name.
+    pasteData += QUrl::toPercentEncoding(description);
     pasteData += "&api_paste_code=";
     pasteData += QUrl::toPercentEncoding(fixNewLines(text));
     // fire request
diff --git a/src/plugins/cpaster/pasteview.cpp b/src/plugins/cpaster/pasteview.cpp
index f8de8f9533528d4efbec965c1396a9b15e6366b9..7ac1af9f4ef328ff87e0968f4a9cd6a037d99486 100644
--- a/src/plugins/cpaster/pasteview.cpp
+++ b/src/plugins/cpaster/pasteview.cpp
@@ -114,6 +114,7 @@ void PasteView::protocolChanged(int p)
 {
     const unsigned caps = m_protocols.at(p)->capabilities();
     m_ui.uiDescription->setEnabled(caps & Protocol::PostDescriptionCapability);
+    m_ui.uiUsername->setEnabled(caps & Protocol::PostUserNameCapability);
     m_ui.uiComment->setEnabled(caps & Protocol::PostCommentCapability);
 }
 
diff --git a/src/plugins/cpaster/protocol.h b/src/plugins/cpaster/protocol.h
index 343dfeb5db323864af00c66814c65cb713d07d0e..a2036aabbfc115cd0058cdf0c78567ba291f37af 100644
--- a/src/plugins/cpaster/protocol.h
+++ b/src/plugins/cpaster/protocol.h
@@ -58,7 +58,8 @@ public:
     enum Capabilities  {
         ListCapability = 0x1,
         PostCommentCapability = 0x2,
-        PostDescriptionCapability = 0x4
+        PostDescriptionCapability = 0x4,
+        PostUserNameCapability = 0x8
     };
 
     virtual ~Protocol();