diff --git a/matlab/dynare_estimation_init.m b/matlab/dynare_estimation_init.m
index 9c60d48f92e62b3238850fabcf46b483efb652be..1bdbf0f59ac6f24dcdedf962591923ad1e7749ec 100644
--- a/matlab/dynare_estimation_init.m
+++ b/matlab/dynare_estimation_init.m
@@ -452,7 +452,12 @@ k = find(isnan(bayestopt_.jscale));
 bayestopt_.jscale(k) = options_.mh_jscale;
 
 % Build the dataset
-[dataset_, dataset_info] = makedataset(options_, options_.dsge_var*options_.dsge_varlag, gsa_flag);
+[dataset_, dataset_info, newdatainterfaceflag] = makedataset(options_, options_.dsge_var*options_.dsge_varlag, gsa_flag);
+
+% Set options_.nobs if needed
+if newdatainterfaceflag
+    options_.nobs = dataset_.nobs;
+end
 
 % setting steadystate_check_flag option
 if options_.diffuse_filter
diff --git a/matlab/utilities/dataset/makedataset.m b/matlab/utilities/dataset/makedataset.m
index 72b04f7cf73a1fc704323ebed6150bc4f7e5c31f..4c679f50396d9e855af75cc1abd3e1824c55f49c 100644
--- a/matlab/utilities/dataset/makedataset.m
+++ b/matlab/utilities/dataset/makedataset.m
@@ -1,4 +1,4 @@
-function [DynareDataset, DatasetInfo] = makedataset(DynareOptions, initialconditions, gsa_flag)
+function [DynareDataset, DatasetInfo, newdatainterface] = makedataset(DynareOptions, initialconditions, gsa_flag)
 
 % Initialize a dataset as a dseries object.
 %