diff --git a/src/plugins/cvs/cvseditor.cpp b/src/plugins/cvs/cvseditor.cpp
index 38c1363aa60d3ae211a2f1a734949c431ec1cb8a..03f81adb59f1ce0b5acbe333314cf82970ddf600 100644
--- a/src/plugins/cvs/cvseditor.cpp
+++ b/src/plugins/cvs/cvseditor.cpp
@@ -48,9 +48,11 @@ namespace Internal {
 CVSEditor::CVSEditor(const VCSBase::VCSBaseEditorParameters *type,
                                    QWidget *parent) :
     VCSBase::VCSBaseEditor(type, parent),
-    m_revisionPattern(QLatin1String(CVS_REVISION_AT_START_PATTERN".*$"))
+    m_revisionAnnotationPattern(QLatin1String(CVS_REVISION_AT_START_PATTERN".*$")),
+    m_revisionLogPattern(QLatin1String("^revision  *("CVS_REVISION_PATTERN")$"))
 {
-    QTC_ASSERT(m_revisionPattern.isValid(), return);
+    QTC_ASSERT(m_revisionAnnotationPattern.isValid(), return);
+    QTC_ASSERT(m_revisionLogPattern.isValid(), return);
 }
 
 QSet<QString> CVSEditor::annotationChanges() const
@@ -79,16 +81,31 @@ QSet<QString> CVSEditor::annotationChanges() const
 
 QString CVSEditor::changeUnderCursor(const QTextCursor &c) const
 {
-
-    // Check for a revision number at the beginning of the line.
-    // Note that "cursor.select(QTextCursor::WordUnderCursor)" will
-    // only select the part up until the dot.
-    // Check if we are at the beginning of a line within a reasonable offset.
-    const QTextBlock block = c.block();
-    if (c.atBlockStart() || (c.position() - block.position() < 3)) {
-        const QString line = block.text();
-        if (m_revisionPattern.exactMatch(line))
-            return m_revisionPattern.cap(1);
+    // Try to match "1.1" strictly:
+    // 1) Annotation: Check for a revision number at the beginning of the line.
+    //    Note that "cursor.select(QTextCursor::WordUnderCursor)" will
+    //    only select the part up until the dot.
+    //    Check if we are at the beginning of a line within a reasonable offset.
+    // 2) Log: check for lines like "revision 1.1", cursor past "revision"
+    switch (contentType()) {
+    case VCSBase::RegularCommandOutput:
+    case VCSBase::DiffOutput:
+        break;
+    case VCSBase::AnnotateOutput: {
+            const QTextBlock block = c.block();
+            if (c.atBlockStart() || (c.position() - block.position() < 3)) {
+                const QString line = block.text();
+                if (m_revisionAnnotationPattern.exactMatch(line))
+                    return m_revisionAnnotationPattern.cap(1);
+            }
+        }
+        break;
+    case VCSBase::LogOutput: {
+            const QTextBlock block = c.block();
+            if (c.position() - block.position() > 8 && m_revisionLogPattern.exactMatch(block.text()))
+                return m_revisionLogPattern.cap(1);
+        }
+        break;
     }
     return QString();
 }
diff --git a/src/plugins/cvs/cvseditor.h b/src/plugins/cvs/cvseditor.h
index a3d38bfff4b1c02cf177a864c8d6a331b8fe856b..a9bb40eaf5008042db1e7e382b1a42b210139016 100644
--- a/src/plugins/cvs/cvseditor.h
+++ b/src/plugins/cvs/cvseditor.h
@@ -59,7 +59,8 @@ private:
     virtual VCSBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
     virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
 
-    const QRegExp m_revisionPattern;
+    const QRegExp m_revisionAnnotationPattern;
+    const QRegExp m_revisionLogPattern;
     QString m_diffBaseDir;
 };
 
diff --git a/src/plugins/vcsbase/vcsbasesettingspage.ui b/src/plugins/vcsbase/vcsbasesettingspage.ui
index 78a1326291cde949836eae4a2dd39daa7e770f11..a535a107069f547ad6bb7ec070151d3d6c33d9c4 100644
--- a/src/plugins/vcsbase/vcsbasesettingspage.ui
+++ b/src/plugins/vcsbase/vcsbasesettingspage.ui
@@ -65,6 +65,9 @@
         </item>
         <item>
          <layout class="QFormLayout" name="formLayout">
+          <property name="rowWrapPolicy">
+           <enum>QFormLayout::WrapLongRows</enum>
+          </property>
           <item row="0" column="0">
            <widget class="QLabel" name="submitMessageCheckScriptLabel">
             <property name="toolTip">
@@ -109,19 +112,6 @@ name &lt;email&gt; alias &lt;email&gt;</string>
         </item>
        </layout>
       </item>
-      <item>
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
      </layout>
     </widget>
    </item>