Index: includes/entity.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/entity.inc,v
retrieving revision 1.5
diff -u -p -r1.5 entity.inc
--- includes/entity.inc	5 Mar 2010 13:41:04 -0000	1.5
+++ includes/entity.inc	8 Mar 2010 08:07:17 -0000
@@ -185,14 +185,6 @@ class DrupalDefaultEntityController impl
       // The id field is provided by entity, so remove it.
       unset($entity_revision_fields[$this->idKey]);
 
-      // Change timestamp to revision_timestamp, and revision uid to
-      // revision_uid before adding them to the query.
-      // TODO: This is node specific and has to be moved into NodeController.
-      unset($entity_revision_fields['timestamp']);
-      $query->addField('revision', 'timestamp', 'revision_timestamp');
-      unset($entity_revision_fields['uid']);
-      $query->addField('revision', 'uid', 'revision_uid');
-
       // Remove all fields from the base table that are also fields by the same
       // name in the revision table.
       $entity_field_keys = array_flip($entity_fields);
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1245
diff -u -p -r1.1245 node.module
--- modules/node/node.module	8 Mar 2010 02:41:46 -0000	1.1245
+++ modules/node/node.module	8 Mar 2010 08:07:17 -0000
@@ -3558,4 +3558,15 @@ class NodeController extends DrupalDefau
     $this->hookLoadArguments[] = array_keys($typed_nodes);
     parent::attachLoad($nodes, $revision_id);
   }
+
+  protected function buildQuery() {
+    // Ensure that uid is taken from the {node} table,
+    // alias timestamp to revision_timestamp and add revision_uid.
+    parent::buildQuery();
+    $fields =& $this->query->getFields();
+    unset($fields['timestamp']);
+    $this->query->addField('revision', 'timestamp', 'revision_timestamp');
+    $fields['uid']['table'] = 'base';
+    $this->query->addField('revision', 'uid', 'revision_uid');
+  }
 }
