diff --git a/src/multipole.h b/src/multipole.h
index 6c77b58d6f5e77c967bf93f78f927d63ba351389..005d3b0da03757465fdc18470468bc4893ed66c5 100644
--- a/src/multipole.h
+++ b/src/multipole.h
@@ -205,6 +205,9 @@ INLINE static void gravity_field_tensors_add(struct gravity_tensors *la,
   la->pot.F_012 += lb->pot.F_012;
   la->pot.F_111 += lb->pot.F_111;
 #endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
 }
 
 /**
@@ -241,6 +244,10 @@ INLINE static void gravity_field_tensors_print(const struct grav_tensor *l) {
   printf("F_111= %12.5e\n", l->F_111);
 #endif
   printf("-------------------------\n");
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
+
 }
 
 /**
@@ -278,6 +285,9 @@ INLINE static void gravity_multipole_print(const struct multipole *m) {
   printf("M_111= %12.5e\n", m->M_111);
 #endif
   printf("-------------------------\n");
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
 }
 
 /**
@@ -499,6 +509,9 @@ INLINE static int gravity_multipole_equal(const struct gravity_tensors *ga,
     message("M_111 term different");
     return 0;
   }
+#endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
 #endif
 
   /* All is good */
@@ -628,6 +641,9 @@ INLINE static void gravity_P2M(struct gravity_tensors *m,
   m->m_pole.M_012 = M_012;
   m->m_pole.M_111 = M_111;
 #endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
 }
 
 /**
@@ -717,6 +733,10 @@ INLINE static void gravity_M2M(struct multipole *m_a,
                X_101(dx) * m_b->M_010 + X_011(dx) * m_b->M_100 +
                X_111(dx) * m_b->M_000;
 #endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
+
 }
 
 /**
@@ -860,6 +880,9 @@ INLINE static void gravity_M2L(struct grav_tensor *l_b,
   l_b->F_012 += m_a->M_000 * D_012(dx, dy, dz, r_inv);
   l_b->F_111 += m_a->M_000 * D_111(dx, dy, dz, r_inv);
 #endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
 
 #ifdef SWIFT_DEBUG_CHECKS
   l_b->mass_interacted += m_a->M_000;
@@ -983,6 +1006,9 @@ INLINE static void gravity_L2L(struct gravity_tensors *l_a,
   la->F_012 += X_000(dx) * lb->F_012;
   la->F_111 += X_000(dx) * lb->F_111;
 #endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
 
 #ifdef SWIFT_DEBUG_CHECKS
   if (l_b->pot.mass_interacted == 0.f)
@@ -1040,6 +1066,10 @@ INLINE static void gravity_L2P(const struct gravity_tensors *l_b,
 #endif
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 2
 #endif
+#if SELF_GRAVITY_MULTIPOLE_ORDER > 3
+#error "Missing implementation for order >3"
+#endif
+
 }
 
 #endif /* SWIFT_MULTIPOLE_H */