diff --git a/gwinc/noise/coatingthermal.py b/gwinc/noise/coatingthermal.py
index 19c411c08c1118442ba1ac4bbfe8921c74b69013..62bb435638a8005dc4d072559a5bdbb6e10e6af8 100644
--- a/gwinc/noise/coatingthermal.py
+++ b/gwinc/noise/coatingthermal.py
@@ -89,9 +89,10 @@ def coating_brownian(f, materials, wavelength, wBeam, dOpt):
     zdir = -1
     dcdp_z = zdir * dcdp  # z-dir only matters here
 
-    # layer contributions (b_j in PhysRevD.91.042002, errors corrected)
-    brLayer = ((1-nN*dcdp_z/2)**2*((1-2*pratN)*(1+pratN)*Ysub)/((1-2*pratsub)*(1+pratsub)*yN) +
-               ((1-2*pratsub)*(1+pratsub)*yN)/((1+pratN)*Ysub))/(1-pratN)
+    # layer contributions, b_j (eq 1) from doi:10.1103/PhysRevD.91.042002, errors corrected
+    brLayer = 1/(1-pratN) *
+              ( (1-nN*dcdp_z/2)**2 * (1-2*pratN)*(1+pratN)*Ysub / ((1-2*pratsub)*(1+pratsub)*yN) +
+                (1-2*pratsub)*(1+pratsub)*yN / ((1+pratN)*Ysub) )
 
     # sum them up for total
     w = 2 * pi * f