diff --git a/bilby/gw/conversion.py b/bilby/gw/conversion.py
index 78018b52aaf448d0554059109294254eea363578..31eef6eea8e0217c34487d4919fd3a44245163a0 100644
--- a/bilby/gw/conversion.py
+++ b/bilby/gw/conversion.py
@@ -169,6 +169,9 @@ def convert_to_lal_binary_black_hole_parameters(parameters):
                 1 + converted_parameters['redshift'])
 
     if 'chirp_mass' in converted_parameters.keys():
+        if "mass_1" in converted_parameters.keys():
+            converted_parameters["mass_ratio"] = chirp_mass_and_primary_mass_to_mass_ratio(
+                converted_parameters["chirp_mass"], converted_parameters["mass_1"])
         if 'total_mass' in converted_parameters.keys():
             converted_parameters['symmetric_mass_ratio'] =\
                 chirp_mass_and_total_mass_to_symmetric_mass_ratio(
@@ -378,6 +381,36 @@ def chirp_mass_and_total_mass_to_symmetric_mass_ratio(chirp_mass, total_mass):
     return (chirp_mass / total_mass) ** (5 / 3)
 
 
+def chirp_mass_and_primary_mass_to_mass_ratio(chirp_mass, mass_1):
+    """
+    Convert chirp mass and mass ratio of a binary to its total mass.
+
+    Rearranging the relation for chirp mass (as a function of mass_1 and
+    mass_2) and q = mass_2 / mass_1, it can be shown that
+
+        (chirp_mass/mass_1)^5 = q^3 / (1 + q)
+
+    Solving for q, we find the releation expressed in python below for q.
+
+    Parameters
+    ----------
+    chirp_mass: float
+        Chirp mass of the binary
+    mass_1: float
+        The primary mass
+
+    Return
+    ------
+    mass_ratio: float
+        Mass ratio (mass_2/mass_1) of the binary
+    """
+    a = (chirp_mass / mass_1) ** 5
+    t0 = np.cbrt(9 * a + np.sqrt(3) * np.sqrt(27 * a ** 2 - 4 * a ** 3))
+    t1 = np.cbrt(2) * 3 ** (2 / 3)
+    t2 = np.cbrt(2 / 3) * a
+    return t2 / t0 + t0 / t1
+
+
 def chirp_mass_and_mass_ratio_to_total_mass(chirp_mass, mass_ratio):
     """
     Convert chirp mass and mass ratio of a binary to its total mass.
diff --git a/test/conversion_test.py b/test/conversion_test.py
index 0ae53de41409da221800bcc10e9454407b29ab3f..a9729099faeca2cbfac63da4ee900b7143d11987 100644
--- a/test/conversion_test.py
+++ b/test/conversion_test.py
@@ -54,6 +54,11 @@ class TestBasicConversions(unittest.TestCase):
         self.assertTrue(all([abs(mass_1 - self.mass_1) < 1e-5,
                              abs(mass_2 - self.mass_2) < 1e-5]))
 
+    def test_chirp_mass_and_primary_mass_to_mass_ratio(self):
+        mass_ratio = conversion.chirp_mass_and_primary_mass_to_mass_ratio(
+            self.chirp_mass, self.mass_1)
+        self.assertAlmostEqual(self.mass_ratio, mass_ratio)
+
     def test_symmetric_mass_ratio_to_mass_ratio(self):
         mass_ratio = conversion.symmetric_mass_ratio_to_mass_ratio(self.symmetric_mass_ratio)
         self.assertAlmostEqual(self.mass_ratio, mass_ratio)