diff --git a/R/InsuranceTarif.R b/R/InsuranceTarif.R
index c7f5be841905fe351cf6c9716cbe5c3a54f87068..222634d79651f0c7d3d20ca35bcc5d8a54e36570 100644
--- a/R/InsuranceTarif.R
+++ b/R/InsuranceTarif.R
@@ -1015,11 +1015,10 @@ InsuranceTarif = R6Class(
 
             frequencyLoading = self$evaluateFrequencyLoading(loadings$premiumFrequencyLoading, params$ContractData$premiumFrequency, params = params, values = values)
       premiumBeforeTax = (values$premiums[["unit.gross"]]*(1 + noMedicalExam.relative + extraChargeGrossPremium) + noMedicalExam - sumRebate - extraRebate) * sumInsured * (1 - advanceProfitParticipation);
-      if (params$Features$unitcostsInGross) {
+      if (!params$Features$unitcostsInGross) {
         premiumBeforeTax = premiumBeforeTax + premium.unitcosts;
       }
       premiumBeforeTax = premiumBeforeTax * (1 - premiumRebate - advanceProfitParticipationUnitCosts - partnerRebate);
-      # TODO / FIXME: Add a check that frequencyLoading has an entry for the premiumFrequency -> Otherwise do not add any loading (currently NULL is returned, basically setting all premiums to NULL)
             premiumBeforeTax.y = premiumBeforeTax * (1 + frequencyLoading);
       premiumBeforeTax = premiumBeforeTax.y / params$ContractData$premiumFrequency;
       values$premiums[["written_yearly"]] = premiumBeforeTax.y * (1 + tax)
@@ -1329,8 +1328,13 @@ InsuranceTarif = R6Class(
       # unit costs
       unitCosts        = premiums[["unitcost"]];
       # unit costs are only charged if a premium is paid, so exclude all times with premium==0!
-      afterUnitCosts   = afterProfit + (afterProfit != 0)*unitCosts;
-      unitcosts        = afterUnitCosts - afterProfit;
+      if (!params$Features$unitcostsInGross) {
+          afterUnitCosts   = afterProfit + (afterProfit != 0)*unitCosts;
+          unitcosts        = afterUnitCosts - afterProfit;
+      } else {
+          afterUnitCosts   = afterProfit;
+          unitcosts        = 0;
+      }
 
       # advance profit participation, Part 2:
       advanceProfitParticipationUnitCosts = 0;