diff --git a/src/libs/utils/uncommentselection.cpp b/src/libs/utils/uncommentselection.cpp
index 3ceef801a842b6a1491cb7a811b75b3f84711bef..a5da088da959a19b5653dcba43e2e2b387fe2939 100644
--- a/src/libs/utils/uncommentselection.cpp
+++ b/src/libs/utils/uncommentselection.cpp
@@ -110,8 +110,8 @@ void Utils::unCommentSelection(QPlainTextEdit *edit)
         endBlock = endBlock.next();
         doCppStyleUncomment = true;
         for (QTextBlock block = startBlock; block != endBlock; block = block.next()) {
-            QString text = block.text();
-            if (!text.trimmed().startsWith(QLatin1String("//"))) {
+            QString text = block.text().trimmed();
+            if (!text.isEmpty() && !text.startsWith(QLatin1String("//"))) {
                 doCppStyleUncomment = false;
                 break;
             }
@@ -133,8 +133,14 @@ void Utils::unCommentSelection(QPlainTextEdit *edit)
                     ++i;
                 }
             } else {
-                cursor.setPosition(block.position());
-                cursor.insertText(QLatin1String("//"));
+                QString text = block.text();
+                foreach(QChar c, text) {
+                    if (!c.isSpace()) {
+                        cursor.setPosition(block.position());
+                        cursor.insertText(QLatin1String("//"));
+                        break;
+                    }
+                }
             }
         }
     }