diff --git a/examples/plot.py b/examples/plot.py
index 941a33ff03841be073f9f6f800f15faf2786bb98..008ed265b729d54cbebf839bf85132e998177a10 100644
--- a/examples/plot.py
+++ b/examples/plot.py
@@ -127,7 +127,7 @@ plot(id, errx_new , 'b.')
 text(id[-1], 0.18, "B-H: $%5.3f\\pm%5.3f$\n QuickShed: $%5.3f\\pm%5.3f$"%(meanx_bh, stdx_bh, meanx_new, stdx_new), backgroundcolor="w", va="top", ha="right" )
 
 
-ylim(-0.2, 0.2)
+ylim(-0.02, 0.02)
 xlim(0,id[-1])
 grid()
 
@@ -138,7 +138,7 @@ plot(id, erry_new , 'b.')
 text(id[-1], 0.18, "B-H: $%5.3f\\pm%5.3f$\n QuickShed: $%5.3f\\pm%5.3f$"%(meany_bh, stdy_bh, meany_new, stdy_new), backgroundcolor="w", va="top", ha="right" )
 
 
-ylim(-0.2, 0.2)
+ylim(-0.02, 0.02)
 xlim(0,id[-1])
 
 grid()
@@ -150,7 +150,7 @@ plot(id, errz_bh , 'rx', label="Legacy")
 #text(id[-1], 0.18, "B-H: $%5.3f\\pm%5.3f$\n QuickShed: $%5.3f\\pm%5.3f$"%(meanz_bh, stdz_bh, meanz_new, stdz_new), backgroundcolor="w", va="top", ha="right" )
 legend(loc="upper right")
 
-ylim(-0.2, 0.2)
+ylim(-0.02, 0.02)
 xlim(0,id[-1])
 grid()
 
diff --git a/examples/test_fmm.c b/examples/test_fmm.c
index 8c73cc8187fa7d55dd59ed14afb7d212d824dc5c..eb56a76104dfd89715d5d85bce72d3d103b9985c 100644
--- a/examples/test_fmm.c
+++ b/examples/test_fmm.c
@@ -37,7 +37,7 @@
 
 /* Some local constants. */
 #define cell_pool_grow 1000
-#define cell_maxparts 1
+#define cell_maxparts 128
 #define task_limit 1
 #define const_G 1    // 6.6738e-8
 #define dist_min 0.5 /* Used for legacy walk only */
@@ -255,19 +255,15 @@ void comp_down(struct cell *c) {
   double dx=0.f, dy=0.f, dz=0.f;
   struct part *parts = c->parts;
 
-
-
   if (c->split) {
 
-    //message("Downpass: %f", c->field_x.F_000);	  
-
     /* Loop over the siblings and propagate accelerations. */
     for (cp = c->firstchild; cp != c->sibling; cp = cp->sibling) {
 
       /* Distance over which to shift */
       dx = cp->new.M_100 - c->new.M_100;
-      dy = cp->new.M_100 - c->new.M_100;
-      dz = cp->new.M_100 - c->new.M_100;
+      dy = cp->new.M_010 - c->new.M_010;
+      dz = cp->new.M_001 - c->new.M_001;
 
       /* Propagate the tensors downwards */
       shiftAndAddTensor(c->field_x, &cp->field_x, dx, dy, dz);
@@ -294,10 +290,6 @@ void comp_down(struct cell *c) {
       ay = const_G * applyFieldAcceleration(c->field_y, dx, dy, dz);
       az = const_G * applyFieldAcceleration(c->field_z, dx, dy, dz);
 
-      
-
-      //message("Apply to particle: %f %f", ax, c->field_x.F_000);
-
       parts[k].a[0] += ax;
       parts[k].a[1] += ay;
       parts[k].a[2] += az;
@@ -569,12 +561,6 @@ static inline void iact_pair_pc(struct cell *ci, struct cell *cj) {
 	computeFieldTensors_x( -r_x, -r_y, -r_z, inv_r, cp->new, &cps->field_x );
 	computeFieldTensors_y( -r_x, -r_y, -r_z, inv_r, cp->new, &cps->field_y );
 	computeFieldTensors_z( -r_x, -r_y, -r_z, inv_r, cp->new, &cps->field_z );
-
-	/* message("r= %f %f %f %f M_000= %f %f F_000= %f", r_x, r_y, r_z, sqrt(r2),  */
-	/* 	cps->new.M_000,   */
-	/* 	cps->new.M_000 * D_100( r_x, r_y, r_z, inv_r), */
-	/* 	cp->field_x.F_000);  */
-
       }
     }
   }
@@ -1260,36 +1246,36 @@ void test_bh(int N, int nr_threads, int runs, char *fileName) {
 
   /* If no input file was specified, generate random particle positions. */
   if (fileName == NULL || fileName[0] == 0) {
-    /* for (k = 0; k < N; k++) { */
-    /*   parts[k].id = k; */
-    /*   parts[k].x[0] = ((double)rand()) / RAND_MAX; */
-    /*   parts[k].x[1] = ((double)rand()) / RAND_MAX; */
-    /*   parts[k].x[2] = ((double)rand()) / RAND_MAX; */
-    /*   parts[k].mass = 1.f;//((double)rand()) / RAND_MAX; */
-    /*   parts[k].a_legacy[0] = 0.0; */
-    /*   parts[k].a_legacy[1] = 0.0; */
-    /*   parts[k].a_legacy[2] = 0.0; */
-    /* } */
+    for (k = 0; k < N; k++) {
+      parts[k].id = k;
+      parts[k].x[0] = ((double)rand()) / RAND_MAX;
+      parts[k].x[1] = ((double)rand()) / RAND_MAX;
+      parts[k].x[2] = ((double)rand()) / RAND_MAX;
+      parts[k].mass = 1.f;//((double)rand()) / RAND_MAX;
+      parts[k].a_legacy[0] = 0.0;
+      parts[k].a_legacy[1] = 0.0;
+      parts[k].a_legacy[2] = 0.0;
+    }
 
-    int ii, jj, kk;
-    for (ii = 0; ii < 8; ++ii) {
-      for (jj = 0; jj < 8; ++jj) {
-	for (kk = 0; kk < 8; ++kk) {
+    /* int ii, jj, kk; */
+    /* for (ii = 0; ii < 8; ++ii) { */
+    /*   for (jj = 0; jj < 8; ++jj) { */
+    /* 	for (kk = 0; kk < 8; ++kk) { */
 	  
-	  int index = 64*ii + 8*jj + kk;
-
-	  parts[index].id = index;
-	  parts[index].x[0] = ii*0.125 + 0.0625;
-	  parts[index].x[1] = jj*0.125 + 0.0625;
-	  parts[index].x[2] = kk*0.125 + 0.0625;
-	  parts[index].mass = 1.;
-	  parts[index].a_legacy[0] = 0.f;
-	  parts[index].a_legacy[1] = 0.f;
-	  parts[index].a_legacy[2] = 0.f;
-
-	}
-      }
-    }
+    /* 	  int index = 64*ii + 8*jj + kk; */
+
+    /* 	  parts[index].id = index; */
+    /* 	  parts[index].x[0] = ii*0.125 + 0.0625; */
+    /* 	  parts[index].x[1] = jj*0.125 + 0.0625; */
+    /* 	  parts[index].x[2] = kk*0.125 + 0.0625; */
+    /* 	  parts[index].mass = 1.; */
+    /* 	  parts[index].a_legacy[0] = 0.f; */
+    /* 	  parts[index].a_legacy[1] = 0.f; */
+    /* 	  parts[index].a_legacy[2] = 0.f; */
+
+    /* 	} */
+    /*   } */
+    /* } */
      
     /* Otherwise, read them from a file. */
   } else {
@@ -1419,7 +1405,7 @@ void test_bh(int N, int nr_threads, int runs, char *fileName) {
   message("[check] root CoMx= %f %f", root->legacy.com[0], root->new.M_100);
   message("[check] root CoMy= %f %f", root->legacy.com[1], root->new.M_010);
   message("[check] root CoMz= %f %f", root->legacy.com[2], root->new.M_001);
-  
+#ifdef QUADRUPOLES
   message("[check]     | %f %f %f |", root->new.M_200, root->new.M_110, root->new.M_101);
   message("[check] I = | %f %f %f |", root->new.M_110, root->new.M_020, root->new.M_011);
   message("[check]     | %f %f %f |", root->new.M_101, root->new.M_011, root->new.M_002);
@@ -1445,6 +1431,7 @@ void test_bh(int N, int nr_threads, int runs, char *fileName) {
   message("[check]     | %f %f %f |", M_200, M_110, M_101);
   message("[check] I = | %f %f %f |", M_110, M_020, M_011);
   message("[check]     | %f %f %f |", M_101, M_011, M_002);
+#endif
 
 #if ICHECK >= 0
   for (i = 0; i < N; ++i)