diff --git a/bilby/core/sampler/pymultinest.py b/bilby/core/sampler/pymultinest.py
index e33c6cf0d29fac9d143ad06c6670eac671d08716..28f9533fe7995c2a21b283cd578f168fe6c1a7c9 100644
--- a/bilby/core/sampler/pymultinest.py
+++ b/bilby/core/sampler/pymultinest.py
@@ -81,6 +81,10 @@ class Pymultinest(NestedSampler):
                 .format(self.kwargs['outputfiles_basename']))
         check_directory_exists_and_if_not_mkdir(
             self.kwargs['outputfiles_basename'])
+
+        # for PyMultiNest >=2.9 the n_params kwarg cannot be None
+        if self.kwargs["n_params"] is None:
+            self.kwargs["n_params"] = self.ndim
         NestedSampler._verify_kwargs_against_default_kwargs(self)
 
     def _apply_multinest_boundaries(self):
diff --git a/test/sampler_test.py b/test/sampler_test.py
index 43d3c0ded5e62793330cfb9718676acfbf737b1a..7a80eac6fd8d838604b59aca2d873e7328db5120 100644
--- a/test/sampler_test.py
+++ b/test/sampler_test.py
@@ -481,7 +481,7 @@ class TestPymultinest(unittest.TestCase):
         expected = dict(importance_nested_sampling=False, resume=True,
                         verbose=True, sampling_efficiency='parameter',
                         outputfiles_basename='outdir/pm_label/',
-                        n_live_points=500, n_params=None,
+                        n_live_points=500, n_params=2,
                         n_clustering_params=None, wrapped_params=None,
                         multimodal=True, const_efficiency_mode=False,
                         evidence_tolerance=0.5,
@@ -497,7 +497,7 @@ class TestPymultinest(unittest.TestCase):
         expected = dict(importance_nested_sampling=False, resume=True,
                         verbose=True, sampling_efficiency='parameter',
                         outputfiles_basename='outdir/pm_label/',
-                        n_live_points=123, n_params=None,
+                        n_live_points=123, n_params=2,
                         n_clustering_params=None, wrapped_params=None,
                         multimodal=True, const_efficiency_mode=False,
                         evidence_tolerance=0.5,