diff --git a/matlab/WriteShockDecomp2Excel.m b/matlab/WriteShockDecomp2Excel.m
index a11110455899504e5b01c27d885bd789832ddcd0..7378115701aaeedd4092fb503ca5835f0045d91b 100644
--- a/matlab/WriteShockDecomp2Excel.m
+++ b/matlab/WriteShockDecomp2Excel.m
@@ -76,7 +76,7 @@ if isempty(initial_date)
     x = 1:gend;
 else
     freq = initial_date.freq;
-    initial_period = initial_date.time(1) + (initial_date.time(2)-1)/freq;
+    initial_period = double(initial_date);
     x = initial_period:(1/freq):initial_period+(gend-1)/freq;
 end
 
diff --git a/matlab/graph_decomp.m b/matlab/graph_decomp.m
index 5bf318bc8404dc30f76eeb7b8bba89413e66a6f2..60a0acb5d50e3e6c90f406107ec7f0bd1ea09d6e 100644
--- a/matlab/graph_decomp.m
+++ b/matlab/graph_decomp.m
@@ -89,7 +89,7 @@ if isempty(initial_date)
     freq = 1;
 else
     freq = initial_date.freq;
-    initial_period = initial_date.time(1) + (initial_date.time(2)-1)/freq;
+    initial_period = double(initial_date);
     x = initial_period-1/freq:(1/freq):initial_period+(gend-1)/freq;
 end
 
diff --git a/matlab/graph_decomp_detail.m b/matlab/graph_decomp_detail.m
index aa12fe7e3a9d773d78ee61e69f2ac9df61e9c08d..b19a226b8b5978fdcd1b1108cfbd8da36a44496d 100644
--- a/matlab/graph_decomp_detail.m
+++ b/matlab/graph_decomp_detail.m
@@ -89,7 +89,7 @@ if isempty(initial_date)
     freq = 1;
 else
     freq = initial_date.freq;
-    initial_period = initial_date.time(1) + (initial_date.time(2)-1)/freq;
+    initial_period = double(initial_date);
     x = initial_period-1/freq:(1/freq):initial_period+(gend-1)/freq;
 end
 
diff --git a/matlab/modules/reporting b/matlab/modules/reporting
index 57a4d6679636e0caa4f98e5a82fb4e33781643b4..bf71d2152325fb5b743c5a61476da6944f73bfdf 160000
--- a/matlab/modules/reporting
+++ b/matlab/modules/reporting
@@ -1 +1 @@
-Subproject commit 57a4d6679636e0caa4f98e5a82fb4e33781643b4
+Subproject commit bf71d2152325fb5b743c5a61476da6944f73bfdf
diff --git a/matlab/plot_shock_decomposition.m b/matlab/plot_shock_decomposition.m
index 81df99c09b9efdad91d04326ee8633203deae763..11ca3b005abc8b3ed29c760dd95443398a9fb6aa 100644
--- a/matlab/plot_shock_decomposition.m
+++ b/matlab/plot_shock_decomposition.m
@@ -286,7 +286,7 @@ if isequal(type,'aoa') && isstruct(q2a)
         % take all dates where realtime is saved
         qqq=options_.initial_date+options_.shock_decomp.save_realtime(:)-1;
         % take the first Q4 of saved realtime
-        t0=min(options_.shock_decomp.save_realtime(qqq.time(:,2)==4));
+        t0=min(options_.shock_decomp.save_realtime(subperiod(qqq)==4));
         if isempty(t0)
             error('the realtime decompositions are not stored in Q4! Please check your dates and settings.')
         end
@@ -421,12 +421,12 @@ switch type
         t0=1; % we assume the sample starts Q1 of 1st year
         initial_date = dates('1Y');
     else
-        initial_date0 = dates([int2str(initial_date.time(1)) 'Y']);
-        if initial_date.time(2)==1  % the first year is full
+        initial_date0 = dates([int2str(year(initial_date)) 'Y']);
+        if subperiod(initial_date)==1  % the first year is full
             t0=1;
             initial_date1=initial_date0;
         else
-            t0=(4-initial_date.time(2)+2); % 1st period of the 1st full year in sample
+            t0=(4-subperiod(initial_date)+2); % 1st period of the 1st full year in sample
             initial_date1=initial_date0+1;
         end
     end
@@ -492,16 +492,16 @@ switch type
         end
     else
         % this is for quarterly-annualized variables already defined in model, so we can just take Q4
-        t0=4-initial_date.time(2)+1;
+        t0=4-subperiod(initial_date)+1;
         initial_date = initial_date0;
         z=z(:,:,t0:4:end);
     end
 
     if ~isempty(options_.plot_shock_decomp.plot_init_date)
-        options_.plot_shock_decomp.plot_init_date = dates([int2str(options_.plot_shock_decomp.plot_init_date.time(1)) 'Y']);
+        options_.plot_shock_decomp.plot_init_date = dates([int2str(year(options_.plot_shock_decomp.plot_init_date)) 'Y']);
     end
     if ~isempty(options_.plot_shock_decomp.plot_end_date)
-        options_.plot_shock_decomp.plot_end_date = dates([int2str(options_.plot_shock_decomp.plot_end_date.time(1)) 'Y']);
+        options_.plot_shock_decomp.plot_end_date = dates([int2str(year(options_.plot_shock_decomp.plot_end_date)) 'Y']);
     end