diff --git a/examples/test.c b/examples/test.c
index 8ce77289f0c55fca1c425d77767e5ee5a3a22aaf..10607bd7f051db586d85e89709373168ea9649b7 100644
--- a/examples/test.c
+++ b/examples/test.c
@@ -135,9 +135,10 @@ void map_cellcheck ( struct cell *c , void *data ) {
     int k, *count = (int *)data;
     struct part *p;
     
+    __sync_fetch_and_add( count , c->count );
+    
     /* Loop over all parts and check if they are in the cell. */
     for ( k = 0 ; k < c->count ; k++ ) {
-        *count += 1;
         p = &c->parts[k];
         if ( p->x[0] < c->loc[0] || p->x[1] < c->loc[1] || p->x[2] < c->loc[2] ||
              p->x[0] > c->loc[0] + c->h[0] || p->x[1] > c->loc[1] + c->h[1] || p->x[2] > c->loc[2] + c->h[2] ) {
@@ -927,7 +928,20 @@ int main ( int argc , char *argv[] ) {
 	        p->id , (int)(p - s.parts) , p->x[0] , p->x[1] , p->x[2] , p->dt , p->h , p->u ); */
         
         /* Get the particle with the highest e_kin. */
-        p = &s.parts[0];
+        /* p = &s.parts[0];
+        double v2, v2_max = 0.5 * ( p->v[0]*p->v[0] + p->v[1]*p->v[1] + p->v[2]*p->v[2] ) * p->mass;
+        for ( k = 0 ; k < s.nr_parts ; k++ ) {
+            v2 = 0.5 * ( s.parts[k].v[0]*s.parts[k].v[0] + s.parts[k].v[1]*s.parts[k].v[1] + s.parts[k].v[2]*s.parts[k].v[2] ) * p->mass;
+            if ( v2 > v2_max ) {
+                p = &s.parts[k];
+                v2_max = v2;
+                }
+            } */
+        /* printf( "main: particle %lli/%i at [ %e %e %e ] has largest ekin=%e.\n" ,
+	        p->id , (int)(p - s.parts) , p->x[0] , p->x[1] , p->x[2] , ekin_max ); */
+        
+        /* Get the particle with the highest acceleration. */
+        /* p = &s.parts[0];
         double a2, a2_max = p->a[0]*p->a[0] + p->a[1]*p->a[1] + p->a[2]*p->a[2];
         for ( k = 0 ; k < s.nr_parts ; k++ ) {
             a2 = s.parts[k].a[0]*s.parts[k].a[0] + s.parts[k].a[1]*s.parts[k].a[1] + s.parts[k].a[2]*s.parts[k].a[2];
@@ -936,8 +950,29 @@ int main ( int argc , char *argv[] ) {
                 a2_max = a2;
                 }
             }
+        printf( "main: particle %lli/%i at [ %e %e %e ] has largest ekin=%e.\n" ,
+	        p->id , (int)(p - s.parts) , p->x[0] , p->x[1] , p->x[2] , ekin_max ); */
+        
+        /* Get the particle with the highest energy. */
+        /* p = &s.parts[0];
+        double dudt, dudt_max = fabsf( p->u - p->xtras->u_old );
+        for ( k = 0 ; k < s.nr_parts ; k++ ) {
+            dudt = fabsf( p->u - p->xtras->u_old  );
+            if ( dudt > dudt_max ) {
+                p = &s.parts[k];
+                dudt_max = dudt;
+                }
+            } */
         /* printf( "main: particle %lli/%i at [ %e %e %e ] has largest ekin=%e.\n" ,
 	        p->id , (int)(p - s.parts) , p->x[0] , p->x[1] , p->x[2] , ekin_max ); */
+            
+        /* Compute the energies by hand. */
+        /* double epot = 0.0, ekin = 0.0;
+        for ( k = 0 ; k < s.nr_parts ; k++ ) {
+            p = &s.parts[k];
+            ekin += 0.5 * p->mass * ( p->v[0]*p->v[0] + p->v[1]*p->v[1] + p->v[2]*p->v[2] );
+            epot += p->mass * p->u;
+            } */
         
         /* Output. */
         #ifdef TIMER
@@ -973,14 +1008,14 @@ int main ( int argc , char *argv[] ) {
         fflush(stdout); */
         
         /* Dump a line of agregate output. */
-        printf( "%i %e %e %e %e %e %e %i %e %e" ,
+        printf( "%i %e %.16e %.16e %.16e %.3e %.3e %i %.3e %.3e" ,
             j , e.time ,
             e.ekin+e.epot , e.ekin , e.epot ,
             e.dt , e.dt_step , e.count_step ,
             e.dt_min , e.dt_max );
         for ( k = 0 ; k < timer_count ; k++ )
             printf( " %.3f" , ((double)timers[k])/CPU_TPS*1000 );
-        printf( " %lli %e\n" , p->id , a2_max ); fflush(stdout);
+        printf( "\n" ); fflush(stdout);
         
         }