diff --git a/es.py b/es.py
index 6d185e758b6fad80649e2d390827910b91e148ed_ZXMucHk=..08eae6d4a792db6ee215c87a990973b0ed3ac1f8_ZXMucHk= 100644
--- a/es.py
+++ b/es.py
@@ -92,9 +92,10 @@
     for rschema, tschema in schema.eschema(etype).attribute_definitions():
         if tschema.type in ('Int', 'Float'):
             attr = rschema.type
-            var = next(varmaker)
-            rql.append('%s %s %s' % (V, attr, var))
-            selected.append((attr, var))
+            if eid and attr != 'eid':
+                var = next(varmaker)
+                rql.append('%s %s %s' % (V, attr, var))
+                selected.append((attr, var))
     for attr in ('creation_date', 'modification_date',) + CUSTOM_ATTRIBUTES.get(etype, ()):
         var = next(varmaker)
         rql.append('%s %s %s' % (V, attr, var))
@@ -98,6 +99,10 @@
     for attr in ('creation_date', 'modification_date',) + CUSTOM_ATTRIBUTES.get(etype, ()):
         var = next(varmaker)
         rql.append('%s %s %s' % (V, attr, var))
+        selected.append((attr, var))
+    for attr in ('creation_date', 'modification_date'):
+        var = next(varmaker)
+        rql.append('%s %s %s' % (V, attr, var))
         selected.append(var)
     # TODO inlined relations ?
     return 'Any %s,%s %s' % (V, ','.join(selected),