diff --git a/bilby/core/sampler/__init__.py b/bilby/core/sampler/__init__.py
index 147d95c5d43001dfb618dd77a8ced8a6e7c39258..0ed5291ac4144b2dbe9fbdb53fc3929f32fd4450 100644
--- a/bilby/core/sampler/__init__.py
+++ b/bilby/core/sampler/__init__.py
@@ -182,7 +182,7 @@ def run_sampler(likelihood, priors=None, label='label', outdir='outdir',
             result.injection_parameters = conversion_function(
                 result.injection_parameters)
 
-    result.samples_to_posterior(likelihood=likelihood, priors=priors,
+    result.samples_to_posterior(likelihood=likelihood, priors=result.priors,
                                 conversion_function=conversion_function)
     if save == 'hdf5':
         result.save_to_file(extension='hdf5')
diff --git a/bilby/gw/conversion.py b/bilby/gw/conversion.py
index 1f4df12809de3cbaf36766ae901ef7423ce66477..dd63232fd04e57ad7d76786a590920e27acedde2 100644
--- a/bilby/gw/conversion.py
+++ b/bilby/gw/conversion.py
@@ -652,15 +652,21 @@ def _generate_all_cbc_parameters(sample, defaults, base_conversion,
         except (KeyError, AttributeError):
             default = waveform_defaults[key]
             output_sample[key] = default
-            logger.warning('Assuming {} = {}'.format(key, default))
+            logger.debug('Assuming {} = {}'.format(key, default))
 
     output_sample = fill_from_fixed_priors(output_sample, priors)
     output_sample, _ = base_conversion(output_sample)
-    output_sample = generate_mass_parameters(output_sample)
-    output_sample = generate_spin_parameters(output_sample)
     if likelihood is not None:
         generate_posterior_samples_from_marginalized_likelihood(
             samples=output_sample, likelihood=likelihood)
+        if priors is not None:
+            for par, name in zip(
+                    ['distance', 'phase', 'time'],
+                    ['luminosity_distance', 'phase', 'geocent_time']):
+                if getattr(likelihood, '{}_marginalization'.format(par), False):
+                    priors[name] = likelihood.priors[name]
+    output_sample = generate_mass_parameters(output_sample)
+    output_sample = generate_spin_parameters(output_sample)
     output_sample = generate_source_frame_parameters(output_sample)
     compute_snrs(output_sample, likelihood)
     return output_sample
@@ -780,7 +786,7 @@ def generate_spin_parameters(sample):
     Add all spin parameters to the data frame/dictionary.
 
     We add:
-        cartestian spin components, chi_eff, chi_p cos tilt 1, cos tilt 2
+        cartesian spin components, chi_eff, chi_p cos tilt 1, cos tilt 2
 
     Parameters
     ----------
@@ -864,7 +870,6 @@ def generate_component_spins(sample):
         output_sample['spin_2z'] = output_sample['chi_2']
     else:
         logger.warning("Component spin extraction failed.")
-        logger.warning(output_sample.keys())
 
     return output_sample
 
@@ -1016,15 +1021,15 @@ def generate_posterior_samples_from_marginalized_likelihood(
             signal_polarizations = \
                 likelihood.waveform_generator.frequency_domain_strain(
                     sample)
-            if likelihood.time_marginalization:
+            if getattr(likelihood, 'time_marginalization', False):
                 sample = generate_time_sample_from_marginalized_likelihood(
                     sample=sample, likelihood=likelihood,
                     signal_polarizations=signal_polarizations)
-            if likelihood.distance_marginalization:
+            if getattr(likelihood, 'distance_marginalization', False):
                 sample = generate_distance_sample_from_marginalized_likelihood(
                     sample=sample, likelihood=likelihood,
                     signal_polarizations=signal_polarizations)
-            if likelihood.phase_marginalization:
+            if getattr(likelihood, 'phase_marginalization', False):
                 sample = generate_phase_sample_from_marginalized_likelihood(
                     sample=sample, likelihood=likelihood,
                     signal_polarizations=signal_polarizations)