diff --git a/src/lbmpy/creationfunctions.py b/src/lbmpy/creationfunctions.py
index c1586d1fd706734a24ecef55fe867609abc24a77..76766af74ae8d267e7308106a44266b477c0c536 100644
--- a/src/lbmpy/creationfunctions.py
+++ b/src/lbmpy/creationfunctions.py
@@ -685,10 +685,6 @@ def create_lb_collision_rule(lb_method=None, lbm_config=None, lbm_optimisation=N
     else:
         collision_rule = lb_method.get_collision_rule(pre_simplification=pre_simplification)
 
-    if lbm_config.psm_config is not None:
-        if lbm_config.psm_config.fraction_field is None or lbm_config.psm_config.object_velocity_field is None:
-            raise ValueError("Specify a fraction and object velocity field in the PSM Config")
-        collision_rule = replace_by_psm_collision_rule(collision_rule, lbm_config.psm_config)
 
     if lbm_config.galilean_correction:
         from lbmpy.methods.cumulantbased import add_galilean_correction
@@ -761,6 +757,11 @@ def create_lb_collision_rule(lb_method=None, lbm_config=None, lbm_optimisation=N
     if lbm_config.fluctuating:
         add_fluctuations_to_collision_rule(collision_rule, **lbm_config.fluctuating)
 
+    if lbm_config.psm_config is not None:
+        if lbm_config.psm_config.fraction_field is None or lbm_config.psm_config.object_velocity_field is None:
+            raise ValueError("Specify a fraction and object velocity field in the PSM Config")
+        collision_rule = replace_by_psm_collision_rule(collision_rule, lbm_config.psm_config)
+
     if lbm_optimisation.cse_pdfs:
         from lbmpy.methods.momentbased.momentbasedsimplifications import cse_in_opposing_directions
         collision_rule = cse_in_opposing_directions(collision_rule)
@@ -882,6 +883,7 @@ def create_psm_update_rule(lbm_config, lbm_optimisation):
 
     node_collection = lb_update_rule.all_assignments
 
+
     if lbm_config.psm_config.individual_fraction_field is None:
         assert lbm_config.psm_config.max_particles_per_cell == 1
         fraction_field = lbm_config.psm_config.fraction_field