diff -ur Foswiki-1.1.5/lib/Foswiki/Store/VC/Handler.pm foswiki/lib/Foswiki/Store/VC/Handler.pm
--- Foswiki-1.1.5/lib/Foswiki/Store/VC/Handler.pm	2012-04-11 03:23:38.000000000 +0200
+++ foswiki/lib/Foswiki/Store/VC/Handler.pm	2012-07-12 19:44:31.000000000 +0200
@@ -446,7 +446,17 @@
 sub getLatestRevisionID {
     my $this = shift;
     return 0 unless -e $this->{file};
-    my $rev = $this->_numRevisions() || 1;
+
+    my $info = {};
+    my $rev;
+
+    $this->_getTOPICINFO($info);
+    $rev = $info->{version};
+
+    unless ( defined $rev ) {
+        $rev = $this->_numRevisions() || 1;
+    }
+
 
     # If there is a pending pseudo-revision, need n+1, but only if there is
     # an existing history
diff -ur Foswiki-1.1.5/lib/Foswiki/Store/VC/Store.pm foswiki/lib/Foswiki/Store/VC/Store.pm
--- Foswiki-1.1.5/lib/Foswiki/Store/VC/Store.pm	2012-04-11 03:23:38.000000000 +0200
+++ foswiki/lib/Foswiki/Store/VC/Store.pm	2012-07-12 19:50:00.000000000 +0200
@@ -93,15 +93,16 @@
     $text =~ s/\r//g;    # Remove carriage returns
     $topicObject->setEmbeddedStoreForm($text);
 
-    unless ( $handler->noCheckinPending() ) {
-
-        # If a checkin is pending, fix the TOPICINFO
-        my $ri    = $topicObject->get('TOPICINFO');
-        my $truth = $handler->getInfo($version);
-        for my $i (qw(author version date)) {
-            $ri->{$i} = $truth->{$i};
-        }
-    }
+    # Item11983 - switched off for performance reasons
+#   unless ( $handler->noCheckinPending() ) {
+#
+#       # If a checkin is pending, fix the TOPICINFO
+#       my $ri    = $topicObject->get('TOPICINFO');
+#       my $truth = $handler->getInfo($version);
+#       for my $i (qw(author version date)) {
+#           $ri->{$i} = $truth->{$i};
+#       }
+#   }
 
     my $gotRev = $version;
     unless ( defined $gotRev ) {
@@ -260,8 +261,16 @@
 
 sub getVersionInfo {
     my ( $this, $topicObject ) = @_;
-    my $handler = $this->getHandler($topicObject);
-    return $handler->getInfo( $topicObject->getLoadedRev() );
+
+    $topicObject->loadVersion() unless $topicObject->latestIsLoaded();
+    my $info = $topicObject->get('TOPICINFO');
+
+    if ( not defined $info ) {
+        my $handler = $this->getHandler($topicObject);
+        $info = $handler->getInfo( $topicObject->getLoadedRev() );
+    }
+
+    return $info;
 }
 
 sub saveAttachment {
