diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R
index a353f2eb39f18e0e31a18a7f7b78f4691b63fa69..a11948322983594003a83415b90f5b61210a6a64 100644
--- a/R/InsuranceContract.R
+++ b/R/InsuranceContract.R
@@ -455,6 +455,7 @@ InsuranceContract = R6Class(
             if (!is.null(params$premiumPeriod)) params$premiumPeriod = max(1, params$premiumPeriod - t)
             if (!is.null(params$deferralPeriod)) params$deferralPeriod = max(0, params$deferralPeriod - t)
             if (!is.null(params$contractClosing)) params$contractClosing = params$contractClosing + years(t)
+            params$initialCapital = NULL
             # TODO: Adjust non-constant parameters (e.g. profit rates or benefits given as vector) to the later start time
 
             # TODO: Generalize this to also allow specifying dynamic premium rather than sum insured
diff --git a/R/exportInsuranceContract_xlsx.R b/R/exportInsuranceContract_xlsx.R
index 2d4b6fdf75a18f188033ed544a476ef09c5705f6..a477df0479a49d557d7ff5eedc70756f178a37cd 100644
--- a/R/exportInsuranceContract_xlsx.R
+++ b/R/exportInsuranceContract_xlsx.R
@@ -319,8 +319,13 @@ exportContractDataTable = function(wb, sheet, contract, ccol = 1, crow = 1, styl
 
   crow = crow + 4;
   # Values (parameters, premiums, etc.) of all blocks   ####
+  additional_capital = contractPremiums$additional_capital
+  if (is.null(contract$Values$premiums)) {
+      # Contracts with multiple child blocks do not have their own premium structure => set additional capital to 0
+      additional_capital = c(0, additional_capital)
+  }
   tmp = contractValues %>%
-    mutate(`Initial Capital` = contractPremiums$additional_capital) %>%
+    mutate(`Initial Capital` = additional_capital) %>%
     select(
       Vertragsteil = .data$ID, Beginn = `Start of Contract`, Tarif = .data$Tariff, .data$`Sum insured`,
       `Initial Capital`,