diff --git a/bilby/core/prior/conditional.py b/bilby/core/prior/conditional.py
index cbc99f269f6dcb7acbaa75ef9ea377dc2510cbcf..797cbd1c45a1bc895cfd383615130e28de1e95a1 100644
--- a/bilby/core/prior/conditional.py
+++ b/bilby/core/prior/conditional.py
@@ -372,6 +372,7 @@ class DirichletElement(ConditionalBeta):
             label + str(ii) for ii in range(order)
         ]
         self.__class__.__name__ = 'DirichletElement'
+        self.__class__.__qualname__ = 'DirichletElement'
 
     def dirichlet_condition(self, reference_parms, **kwargs):
         remaining = 1 - sum(
diff --git a/test/core/prior/conditional_test.py b/test/core/prior/conditional_test.py
index fbfa45cc01a607a5e7fca3eae7b143f4db891c1c..20c0cda93f71a86177bf0d8cc74c3985882109f8 100644
--- a/test/core/prior/conditional_test.py
+++ b/test/core/prior/conditional_test.py
@@ -5,6 +5,7 @@ from unittest import mock
 
 import numpy as np
 import pandas as pd
+import pickle
 
 import bilby
 
@@ -472,6 +473,10 @@ class TestDirichletPrior(unittest.TestCase):
         test = bilby.core.prior.PriorDict.from_json(filename="priors/test_prior.json")
         self.assertEqual(self.priors, test)
 
+    def test_pickle(self):
+        """Assert can be pickled (needed for use with bilby_pipe)"""
+        pickle.dumps(self.priors)
+
 
 if __name__ == "__main__":
     unittest.main()