--- webform_revisions.module.orig	2011-11-16 19:15:58.228293364 +0100
+++ webform_revisions.module	2011-11-16 19:40:32.128292025 +0100
@@ -350,6 +350,10 @@
   $res = db_query("SELECT * FROM {webform_revisions} WHERE sid = %d", $sid);
   $cur = db_fetch_array($res);
   $comment = $cur["comment"];
+  $submitted = $cur["submitted"];
+  $uid = $cur["uid"];
+  $new_user = user_load($uid);
+
   if ($comment != "") {
       $comment = "<div class='webform-revisions-comment'>" . check_plain($comment) . "</div>";
     }  
@@ -357,7 +361,7 @@
   // Add in the current revision first.
   $rows[] = array(
     "data" => array(
-      l(format_date($submitted), "node/$nid/submission/$sid") . " by " . l($new_user->name, "user/$uid") . $comment,
+      l(format_date($submitted), "node/$nid/submission/$sid") . " by " . (($uid==0)?"original submitter":l($new_user->name, "user/$uid")) . $comment,
       "<em>" . t("current revision") . "</em>",
       "",
     ),
@@ -390,7 +394,7 @@
     }
     
     $rows[] = array(
-      l(format_date($submitted), "node/$nid/submission/$sid/revisions/$wvid") . " by " . l($new_user->name, "user/$uid") . $comment,
+      l(format_date($submitted), "node/$nid/submission/$sid/revisions/$wvid") . " by " . (($uid==0)?"original   + submitter":l($new_user->name, "user/$uid")) . $comment,
       $revert_link,
       $delete_link,
     );
@@ -487,9 +491,18 @@
   $cur = db_fetch_array($res);
 
   $nid = $cur["nid"];
+
+  $res = db_query("SELECT * FROM {webform_revisions} WHERE sid = %d", $sid);
+  if ($currev = db_fetch_array($res)) {
+    // We had a database result.
+    $uid = $currev["uid"];
+    $submitted = $currev["submitted"];
+    $remote_addr = $currev["remote_addr"];
+  } else {
   $uid = $cur["uid"];
   $submitted = $cur["submitted"];
   $remote_addr = $cur["remote_addr"];
+  }
     
   db_query("INSERT INTO {webform_revisions_submissions} (wvid, sid, nid, uid, submitted, remote_addr, comment)
               VALUES (%d, %d, %d, %d, %d, '%s', '%s') ", $wvid, $sid, $nid, $uid, $submitted, $remote_addr, $comment);
@@ -576,8 +589,8 @@
     db_query("UPDATE {webform_submissions} SET submitted = %d WHERE sid = %d", time(), $sid);
     
     // Add the comment to our revisions table.
-    db_query("UPDATE {webform_revisions} SET comment = '%s'
-              WHERE sid = %d ", $comment, $sid);
+    db_query("UPDATE {webform_revisions} SET comment = '%s', uid = %d, submitted = %d, remote_addr = '%s'
+              WHERE sid = %d ", $comment, $GLOBALS['user']->uid, time(), ip_address(), $sid);
   }
   
   
--- webform_revisions.install.orig	2011-11-16 19:14:02.816294107 +0100
+++ webform_revisions.install	2011-11-16 20:40:25.108292888 +0100
@@ -40,6 +40,22 @@
         'type' => 'int',
         'not null' => TRUE,
       ),
+      'uid' => array(
+        'type' => 'int',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+       'default' => 0,
+      ),
+      'submitted' => array(
+        'type' => 'int',
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+      'remote_addr' => array(
+        'type' => 'varchar',
+        'length' => '128',
+        'not null' => FALSE,
+      ),
       'comment' => array(
         'type' => 'text',
         'not null' => TRUE,
