diff --git a/src/runner.c b/src/runner.c
index 35a579bd656a94be505da6b2ea34f20cb4503d8c..92060301afa04686b4fc1af696b1b8760caa3998 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -61,18 +61,6 @@
 #include "timers.h"
 #include "timestep.h"
 
-/**
- * @brief  Entry in a list of sorted indices.
- */
-struct entry {
-
-  /*! Distance on the axis */
-  float d;
-
-  /*! Particle index */
-  int i;
-};
-
 /* Orientation of the cell pairs */
 const double runner_shift[13][3] = {
     {5.773502691896258e-01, 5.773502691896258e-01, 5.773502691896258e-01},
@@ -1178,8 +1166,13 @@ void *runner_main(void *data) {
           break;
 
         case task_type_pair:
-          if (t->subtype == task_subtype_density)
+          if (t->subtype == task_subtype_density) {
+#ifdef WITH_VECTORIZATION
+            runner_dopair1_density_vec(r, ci, cj);
+#else
             runner_dopair1_density(r, ci, cj);
+#endif
+          }
 #ifdef EXTRA_HYDRO_LOOP
           else if (t->subtype == task_subtype_gradient)
             runner_dopair1_gradient(r, ci, cj);
diff --git a/src/runner.h b/src/runner.h
index b42ad8a5cba8b50cee59a25684fd46e0e918d0d7..9a0a58fb2a96819d32825bf9dd714a30ac9e7a7d 100644
--- a/src/runner.h
+++ b/src/runner.h
@@ -52,6 +52,18 @@ struct runner {
   struct cache par_cache;
 };
 
+/**
+ * @brief  Entry in a list of sorted indices.
+ */
+struct entry {
+
+  /*! Distance on the axis */
+  float d;
+
+  /*! Particle index */
+  int i;
+};
+
 /* Function prototypes. */
 void runner_do_ghost(struct runner *r, struct cell *c, int timer);
 void runner_do_extra_ghost(struct runner *r, struct cell *c, int timer);