diff --git a/source/calc_conc.f90 b/source/calc_conc.f90
index b70c602f3824a41baa3f62bd257f41d5e39f5ab7..98f266cdb7f55f74de084b9e772b46b7a20c733f 100644
--- a/source/calc_conc.f90
+++ b/source/calc_conc.f90
@@ -150,10 +150,18 @@ subroutine calc_conc(config, fluxes, obs, ngrid, gtime, hnest, hbkg, iobs, ix1,
 
   if ( trim(config%spec).eq.'co2' ) then
     ! CO2
-    obs%err(iobs) = sqrt(obs%measerr(iobs)**2 + (sum(obs%cini(iobs,:))*config%cinierr)**2 + bkgerr + ffferr)
+    if ( config%opt_cini ) then
+      obs%err(iobs) = sqrt(obs%measerr(iobs)**2 + bkgerr + ffferr)
+    else
+      obs%err(iobs) = sqrt(obs%measerr(iobs)**2 + (sum(obs%cini(iobs,:))*config%cinierr)**2 + bkgerr + ffferr)
+    endif
   else if ( trim(config%spec).eq.'ghg' ) then
     ! GHG 
-    obs%err(iobs) = sqrt(obs%measerr(iobs)**2 + (sum(obs%cini(iobs,:))*config%cinierr)**2 + bkgerr)
+    if ( config%opt_cini ) then
+      obs%err(iobs) = sqrt(obs%measerr(iobs)**2 + bkgerr)
+    else
+      obs%err(iobs) = sqrt(obs%measerr(iobs)**2 + (sum(obs%cini(iobs,:))*config%cinierr)**2 + bkgerr)
+    endif
   else if ( trim(config%spec).eq.'aero' ) then
     ! aerosols
     obs%err(iobs) = sqrt(obs%measerr(iobs)**2 +  bkgerr)