diff --git a/bilby/core/likelihood.py b/bilby/core/likelihood.py
index 10feec20783621b55cd3a5928b0405a2e601dce3..e2b39142034cb6712fa12f919d49a4d589abf1c5 100644
--- a/bilby/core/likelihood.py
+++ b/bilby/core/likelihood.py
@@ -455,3 +455,7 @@ class JointLikelihood(Likelihood):
     def noise_log_likelihood(self):
         """ This is just the sum of the noise likelihoods of all parts of the joint likelihood"""
         return sum([likelihood.noise_log_likelihood() for likelihood in self.likelihoods])
+
+
+class MarginalizedLikelihoodReconstructionError(Exception):
+    pass
diff --git a/bilby/gw/conversion.py b/bilby/gw/conversion.py
index 3ee33ebb02effe58b9e4831ee644353a891d2aea..aeaa0c1b83ae31d8a36f30b3b70113bc7d9fe236 100644
--- a/bilby/gw/conversion.py
+++ b/bilby/gw/conversion.py
@@ -5,6 +5,7 @@ from tqdm import tqdm
 import numpy as np
 from pandas import DataFrame
 
+from ..core.likelihood import MarginalizedLikelihoodReconstructionError
 from ..core.utils import logger, solar_mass
 from ..core.prior import DeltaFunction
 from .utils import lalsim_SimInspiralTransformPrecessingNewInitialConditions
@@ -665,11 +666,20 @@ def _generate_all_cbc_parameters(sample, defaults, base_conversion,
     output_sample = fill_from_fixed_priors(output_sample, priors)
     output_sample, _ = base_conversion(output_sample)
     if likelihood is not None:
-        if (hasattr(likelihood, 'phase_marginalization') or
-            hasattr(likelihood, 'time_marginalization') or
-            hasattr(likelihood, 'distance_marginalization')):
-            generate_posterior_samples_from_marginalized_likelihood(
-                samples=output_sample, likelihood=likelihood)
+        if (
+                hasattr(likelihood, 'phase_marginalization') or
+                hasattr(likelihood, 'time_marginalization') or
+                hasattr(likelihood, 'distance_marginalization')
+        ):
+            try:
+                generate_posterior_samples_from_marginalized_likelihood(
+                    samples=output_sample, likelihood=likelihood)
+            except MarginalizedLikelihoodReconstructionError as e:
+                logger.warning(
+                    "Marginalised parameter reconstruction failed with message "
+                    "{}. Some parameters may not have the intended "
+                    "interpretation.".format(e)
+                )
         if priors is not None:
             for par, name in zip(
                     ['distance', 'phase', 'time'],
diff --git a/bilby/gw/likelihood.py b/bilby/gw/likelihood.py
index 02bc2452e1548b47c6dc8e0b6d9f171689e4504c..44aef9cda01edd136c04689024056100ff98d91f 100644
--- a/bilby/gw/likelihood.py
+++ b/bilby/gw/likelihood.py
@@ -15,7 +15,7 @@ except ImportError:
     from scipy.misc import logsumexp
 from scipy.special import i0e
 
-from ..core import likelihood
+from ..core.likelihood import Likelihood, MarginalizedLikelihoodReconstructionError
 from ..core.utils import BilbyJsonEncoder, decode_bilby_json
 from ..core.utils import (
     logger, UnsortedInterp2d, create_frequency_series, create_time_series,
@@ -29,7 +29,7 @@ from .waveform_generator import WaveformGenerator
 from collections import namedtuple
 
 
-class GravitationalWaveTransient(likelihood.Likelihood):
+class GravitationalWaveTransient(Likelihood):
     """ A gravitational-wave transient likelihood object
 
     This is the usual likelihood object to use for transient gravitational
@@ -395,8 +395,14 @@ class GravitationalWaveTransient(likelihood.Likelihood):
         time_post = time_post[keep]
         times = times[keep]
 
-        new_time = Interped(times, time_post).sample()
-        return new_time
+        if len(times) > 1:
+            new_time = Interped(times, time_post).sample()
+            return new_time
+        else:
+            raise MarginalizedLikelihoodReconstructionError(
+                "Time posterior reconstruction failed, at least two samples "
+                "are required."
+            )
 
     def generate_distance_sample_from_marginalized_likelihood(
             self, signal_polarizations=None):
@@ -712,7 +718,7 @@ class GravitationalWaveTransient(likelihood.Likelihood):
             lal_version=self.lal_version)
 
 
-class BasicGravitationalWaveTransient(likelihood.Likelihood):
+class BasicGravitationalWaveTransient(Likelihood):
 
     def __init__(self, interferometers, waveform_generator):
         """