diff --git a/bilby/gw/utils.py b/bilby/gw/utils.py
index 6dd5e4b789e5ed303e22df19ded88ee6bc1227d7..685752456e0b5b582003da6853d3d4b23e4c1bb0 100644
--- a/bilby/gw/utils.py
+++ b/bilby/gw/utils.py
@@ -74,8 +74,7 @@ def time_delay_geocentric(detector1, detector2, ra, dec, time):
     float: Time delay between the two detectors in the geocentric frame
 
     """
-    from lal import GreenwichMeanSiderealTime
-    gmst = fmod(GreenwichMeanSiderealTime(time), 2 * np.pi)
+    gmst = fmod(greenwich_mean_sidereal_time(time), 2 * np.pi)
     theta, phi = ra_dec_to_theta_phi(ra, dec, gmst)
     omega = np.array([np.sin(theta) * np.cos(phi), np.sin(theta) * np.sin(phi), np.cos(theta)])
     delta_d = detector2 - detector1
@@ -109,8 +108,7 @@ def get_polarization_tensor(ra, dec, time, psi, mode):
     array_like: A 3x3 representation of the polarization_tensor for the specified mode.
 
     """
-    from lal import GreenwichMeanSiderealTime
-    gmst = fmod(GreenwichMeanSiderealTime(time), 2 * np.pi)
+    gmst = fmod(greenwich_mean_sidereal_time(time), 2 * np.pi)
     theta, phi = ra_dec_to_theta_phi(ra, dec, gmst)
     u = np.array([np.cos(phi) * np.cos(theta), np.cos(theta) * np.sin(phi), -np.sin(theta)])
     v = np.array([-np.sin(phi), np.cos(phi), 0])
@@ -378,9 +376,8 @@ def zenith_azimuth_to_ra_dec(zenith, azimuth, geocent_time, ifos):
     ra, dec: float
         The zenith and azimuthal angles in the sky frame.
     """
-    from lal import GreenwichMeanSiderealTime
     theta, phi = zenith_azimuth_to_theta_phi(zenith, azimuth, ifos)
-    gmst = GreenwichMeanSiderealTime(geocent_time)
+    gmst = greenwich_mean_sidereal_time(geocent_time)
     ra, dec = theta_phi_to_ra_dec(theta, phi, gmst)
     ra = ra % (2 * np.pi)
     return ra, dec
@@ -1016,3 +1013,9 @@ class PropertyAccessor(object):
 
     def __set__(self, instance, value):
         setattr(getattr(instance, self.container_instance_name), self.property_name, value)
+
+
+def greenwich_mean_sidereal_time(time):
+    from lal import GreenwichMeanSiderealTime
+    time = float(time)
+    return GreenwichMeanSiderealTime(time)