diff --git a/bilby/core/result.py b/bilby/core/result.py
index aaf0a81df627a866ea913d95cecb13356ad1f997..a4630475fad32a85d70dd3d0becc946d948c8e87 100644
--- a/bilby/core/result.py
+++ b/bilby/core/result.py
@@ -983,6 +983,17 @@ class Result(object):
         fig.savefig(filename, dpi=dpi)
         plt.close(fig)
 
+    @staticmethod
+    def _add_prior_fixed_values_to_posterior(posterior, priors):
+        if priors is None:
+            return posterior
+        for key in priors:
+            if isinstance(priors[key], DeltaFunction):
+                posterior[key] = priors[key].peak
+            elif isinstance(priors[key], float):
+                posterior[key] = priors[key]
+        return posterior
+
     def samples_to_posterior(self, likelihood=None, priors=None,
                              conversion_function=None):
         """
@@ -1005,11 +1016,8 @@ class Result(object):
         except ValueError:
             data_frame = pd.DataFrame(
                 self.samples, columns=self.search_parameter_keys)
-            for key in priors:
-                if isinstance(priors[key], DeltaFunction):
-                    data_frame[key] = priors[key].peak
-                elif isinstance(priors[key], float):
-                    data_frame[key] = priors[key]
+            data_frame = self._add_prior_fixed_values_to_posterior(
+                data_frame, priors)
             data_frame['log_likelihood'] = getattr(
                 self, 'log_likelihood_evaluations', np.nan)
             if self.log_prior_evaluations is None:
diff --git a/test/result_test.py b/test/result_test.py
index 7648b9708948d9c293e4ae0a3df268d46b74d37b..a18a44ac6bb088253bfe014f99b01de87f33bddc 100644
--- a/test/result_test.py
+++ b/test/result_test.py
@@ -266,6 +266,17 @@ class TestResult(unittest.TestCase):
         df = pd.read_csv(filename)
         self.assertTrue(np.allclose(self.result.posterior.values, df.values))
 
+    def test_samples_to_posterior_simple(self):
+        self.result.posterior = None
+        x = [1, 2, 3]
+        y = [4, 6, 8]
+        self.result.samples = np.array([x, y]).T
+        self.result.samples_to_posterior()
+        self.assertTrue(all(self.result.posterior['x'] == x))
+        self.assertTrue(all(self.result.posterior['y'] == y))
+        self.assertTrue(np.all(
+            None == self.result.posterior.log_likelihood.values))
+
     def test_samples_to_posterior(self):
         self.result.posterior = None
         x = [1, 2, 3]