diff --git a/gwinc/ifo/CE2/__init__.py b/gwinc/ifo/CE2/__init__.py
index 34fc40c1de78762da688652614cad4528fe7e110..d34482b90954a78edd7421023445cec45de1a1b4 100644
--- a/gwinc/ifo/CE2/__init__.py
+++ b/gwinc/ifo/CE2/__init__.py
@@ -54,7 +54,6 @@ class Substrate(nb.Budget):
 
     noises = [
         ITMThermoRefractive,
-        ITMCarrierDensity,
         SubstrateBrownian,
         SubstrateThermoElastic,
     ]
diff --git a/gwinc/ifo/CE2/ifo.yaml b/gwinc/ifo/CE2/ifo.yaml
index 3c65f15b46e88ac9294a243267eb85dd7e76ec59..540f659b0c4f8dc19aee26b5f56d778ab0f12c69 100644
--- a/gwinc/ifo/CE2/ifo.yaml
+++ b/gwinc/ifo/CE2/ifo.yaml
@@ -227,15 +227,6 @@ Materials:
     RefractiveIndex: 3.5      # 3.38 * (1 + 4e-5 * T)   (ioffe)
     dndT: 1e-4                # ~123K & 1900 nm : http://arxiv.org/abs/physics/0606168
     Temp: 123                 # mirror temperature [K]
-    ## parameters for semiconductor optics
-    isSemiConductor: True     # we are doing semiconductor optics
-    CarrierDensity: 1e19      # 1/m^3; carrier density for phosphorous-doped silicon
-    ElectronDiffusion: 9.7e-3 # m^2/s; electron diffusion coefficient for silicon at 120 K
-    HoleDiffusion: 3.5e-3     # m^2/s; hole diffusion coefficient for silicon at 120 K
-    ElectronEffMass: 9.747e-31 # kg; effective mass of each electron 1.07*m_e
-    HoleEffMass: 8.016e-31    # kg; effective mass of each hole 0.88*m_e
-    ElectronIndexGamma: -8.8e-28 # m**3; dependence of index of refraction on electron carrier density
-    HoleIndexGamma: -1.02e-27 # m**3; dependence of index of refraction on hole carrier density
 
   MassRadius: 0.4 # m; 80 cm mCZ silicon
   MassThickness: 0.286
diff --git a/gwinc/ifo/Voyager/__init__.py b/gwinc/ifo/Voyager/__init__.py
index 933a7828b72c7dd0cd8de8fb5dcb7414b93ce5b1..eaa433506e907bb55a355c5642bcdfed6e6e60c8 100644
--- a/gwinc/ifo/Voyager/__init__.py
+++ b/gwinc/ifo/Voyager/__init__.py
@@ -14,7 +14,6 @@ class Voyager(nb.Budget):
         CoatingBrownian,
         CoatingThermoOptic,
         ITMThermoRefractive,
-        ITMCarrierDensity,
         SubstrateBrownian,
         SubstrateThermoElastic,
         ExcessGas,
diff --git a/gwinc/ifo/Voyager/ifo.yaml b/gwinc/ifo/Voyager/ifo.yaml
index 67f06660e5b11575ac3fd36a6d4a950ebb2a3fdf..769eabb2da961147283bc40387f08e5515e1f7c5 100644
--- a/gwinc/ifo/Voyager/ifo.yaml
+++ b/gwinc/ifo/Voyager/ifo.yaml
@@ -252,15 +252,6 @@ Materials:
     RefractiveIndex: 3.5 # 3.38 * (1 + 4e-5 * T)   (ioffe)
     dndT: 1e-4           # ~123K & 1900 nm : http://arxiv.org/abs/physics/0606168
     Temp: 123            # mirror temperature [K]
-    ## parameters for semiconductor optics
-    isSemiConductor: True     # we are doing semiconductor optics
-    CarrierDensity: 1e19      # 1/m^3; carrier density for phosphorous-doped silicon
-    ElectronDiffusion: 9.7e-3 # m^2/s; electron diffusion coefficient for silicon at 120 K
-    HoleDiffusion: 3.5e-3     # m^2/s; hole diffusion coefficient for silicon at 120 K
-    ElectronEffMass: 9.747e-31 # kg; effective mass of each electron 1.07*m_e
-    HoleEffMass: 8.016e-31    # kg; effective mass of each hole 0.88*m_e
-    ElectronIndexGamma: -8.8e-28 # m**3; dependence of index of refraction on electron carrier density
-    HoleIndexGamma: -1.02e-27 # m**3; dependence of index of refraction on hole carrier density
 
   MassRadius: 0.225 # m; 45 cm mCZ silicon
   MassThickness: 0.55
diff --git a/gwinc/ifo/noises.py b/gwinc/ifo/noises.py
index 06770cf4b3aba292d9872717078f286903fc27ea..eefa0d5f6a2f7292d8ab9c8a93cde3dbeda58779 100644
--- a/gwinc/ifo/noises.py
+++ b/gwinc/ifo/noises.py
@@ -345,25 +345,6 @@ class ITMThermoRefractive(nb.Noise):
         return n * 2 / gPhase**2
 
 
-class ITMCarrierDensity(nb.Noise):
-    """ITM Carrier Density
-
-    """
-    style = dict(
-        label='ITM Carrier Density',
-        color='#929591',
-        linestyle='--',
-    )
-
-    def calc(self):
-        finesse = ifo_power(self.ifo)[2]
-        gPhase = finesse * 2/np.pi
-        w0, wBeam_ITM, wBeam_ETM = arm_cavity(self.ifo)
-        n = noise.substratethermal.substrate_carrierdensity(
-            self.freq, self.ifo.Materials, wBeam_ITM)
-        return n * 2 / gPhase**2
-
-
 class SubstrateBrownian(nb.Noise):
     """Substrate Brownian
 
diff --git a/gwinc/noise/substratethermal.py b/gwinc/noise/substratethermal.py
index 0b9e86ebaf8931da1e8888a511457bc89a027b6f..a263eb7ae3c783127a4130b80316568cb9a77b08 100644
--- a/gwinc/noise/substratethermal.py
+++ b/gwinc/noise/substratethermal.py
@@ -12,52 +12,6 @@ from ..const import BESSEL_ZEROS as zeta
 from ..const import J0M as j0m
 
 
-def substrate_carrierdensity(f, materials, wBeam, exact=False):
-    """Substrate thermal displacement noise spectrum from charge carrier density fluctuations
-
-    For semiconductor substrates.
-
-    :f: frequency array in Hz
-    :materials: gwinc optic materials structure
-    :wBeam: beam radius (at 1 / e^2 power)
-    :exact: whether to use adiabatic approximation or exact calculation (False)
-
-    :returns: displacement noise power spectrum at :f:, in meters
-
-    """
-    H = materials.MassThickness
-    diffElec = materials.Substrate.ElectronDiffusion
-    diffHole = materials.Substrate.HoleDiffusion
-    mElec = materials.Substrate.ElectronEffMass
-    mHole = materials.Substrate.HoleEffMass
-    cdDens = materials.Substrate.CarrierDensity
-    gammaElec = materials.Substrate.ElectronIndexGamma
-    gammaHole = materials.Substrate.HoleIndexGamma
-    r0 = wBeam/np.sqrt(2)
-    omega = 2*pi*f
-
-    if exact:
-        def integrand(k, om, D):
-            return D * k**3 * exp(-k**2 * wBeam**2/4) / (D**2 * k**4 + om**2)
-    
-        integralElec = np.array([scipy.integrate.quad(lambda k: integrand(k, om, diffElec), 0, inf)[0] for om in omega])
-        integralHole = np.array([scipy.integrate.quad(lambda k: integrand(k, om, diffHole), 0, inf)[0] for om in omega])
-
-        # From P1400084 Heinert et al. Eq. 15
-        #psdCD = @(gamma,m,int) 2*(3/pi^7)^(1/3)*kBT*H*gamma^2*m/hbar^2*cdDens^(1/3)*int; %units are meters
-        # FIXME: why the unused argument here?
-        def psdCD(gamma, m, int_):
-            return 2/pi * H * gamma**2 * cdDens * int_
-
-        psdElec = psdCD(gammaElec, mElec, integralElec)
-        psdHole = psdCD(gammaHole, mHole, integralHole)
-    else:
-        psdElec = 4*H*gammaElec**2*cdDens*diffElec/(pi*r0**4*omega**2)
-        psdHole = 4*H*gammaHole**2*cdDens*diffHole/(pi*r0**4*omega**2)
-
-    return psdElec + psdHole
-
-
 def substrate_thermorefractive(f, materials, wBeam, exact=False):
     """Substrate thermal displacement noise spectrum from thermorefractive fluctuations
 
@@ -87,7 +41,7 @@ def substrate_thermorefractive(f, materials, wBeam, exact=False):
 
         # From P1400084 Heinert et al. Eq. 15
         #psdCD = @(gamma,m,int) 2*(3/pi^7)^(1/3)*kBT*H*gamma^2*m/hbar^2*cdDens^(1/3)*int; %units are meters
-        psdTR = lambda int_: 2/pi * H * beta**2 * kBT * Temp / (rho*C) * int_;
+        psdTR = lambda int_: 2/pi * H * beta**2 * kBT * Temp / (rho*C) * int_
 
         psd = psdTR(inte)
         psd = 2/pi * H * beta**2 * kBT * Temp / (rho*C) * inte