diff --git a/src/cell.h b/src/cell.h
index 199c901a7897b17ac275e5f8c4a5bcf7b68f5d73..a2f7ab6912a6d5a9a788658e48ae160e4be049dc 100644
--- a/src/cell.h
+++ b/src/cell.h
@@ -44,6 +44,8 @@ struct space;
  * The maximum was lowered by a further factor of 2 to be on the safe side.*/
 #define cell_max_tag (1 << 29)
 
+#define cell_align 32
+
 /* Global variables. */
 extern int cell_next_tag;
 
@@ -198,7 +200,7 @@ struct cell {
 
 #endif
 
-} __attribute__((aligned(64)));
+} __attribute__((aligned(cell_align)));
 
 /* Convert cell location to ID. */
 #define cell_getid(cdim, i, j, k) \
diff --git a/src/engine.c b/src/engine.c
index 2874ee2c6adca19a664b32f87cdcd9b64e28ebfe..5097230aff624d93db16f99f4ee6f41a68b2abd2 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -3126,7 +3126,7 @@ void engine_init(struct engine *e, struct space *s,
   e->timeStep = 0.;
   e->timeBase = 0.;
   e->timeBase_inv = 0.;
-  e->drift_all = 0;
+  e->drift_all = (policy & engine_policy_drift_all);
   e->internalUnits = internal_units;
   e->timeFirstSnapshot =
       parser_get_param_double(params, "Snapshots:time_first");
diff --git a/src/space.c b/src/space.c
index 2f4442c4729f69d8010278f7cf772b40d100d1f1..3cce9e01f927e6c7efdfc3e9273f1b2b5edaac30 100644
--- a/src/space.c
+++ b/src/space.c
@@ -272,7 +272,7 @@ void space_regrid(struct space *s, double cell_max, int verbose) {
 
     /* Allocate the highest level of cells. */
     s->tot_cells = s->nr_cells = cdim[0] * cdim[1] * cdim[2];
-    if (posix_memalign((void *)&s->cells, 64,
+    if (posix_memalign((void *)&s->cells, cell_align,
                        s->nr_cells * sizeof(struct cell)) != 0)
       error("Failed to allocate cells.");
     bzero(s->cells, s->nr_cells * sizeof(struct cell));
@@ -1406,7 +1406,7 @@ struct cell *space_getcell(struct space *s) {
 
   /* Is the buffer empty? */
   if (s->cells_new == NULL) {
-    if (posix_memalign((void *)&s->cells_new, 64,
+    if (posix_memalign((void *)&s->cells_new, cell_align,
                        space_cellallocchunk * sizeof(struct cell)) != 0)
       error("Failed to allocate more cells.");
     bzero(s->cells_new, space_cellallocchunk * sizeof(struct cell));