diff --git a/matlab/dynare_identification.m b/matlab/dynare_identification.m
index 9a883e9d23fd6aef6255318f6d75a9f653d7aae0..33f2c151e7901c05cb76793853f90ced902a7f08 100644
--- a/matlab/dynare_identification.m
+++ b/matlab/dynare_identification.m
@@ -130,22 +130,6 @@ options_.plot_priors = 0;
 options_.smoother=1;
 [dataset_,dataset_info,xparam1,hh, M_, options_, oo_, estim_params_,bayestopt_]=dynare_estimation_init(M_.endo_names,fname_,1, M_, options_, oo_, estim_params_, bayestopt_);
 options_ident.analytic_derivation_mode = options_.analytic_derivation_mode;
-if isempty(dataset_),
-    dataset_.info.ntobs = periods;
-    dataset_.info.nvobs = length(options_.varobs);
-    dataset_.info.varobs = options_.varobs;
-    dataset_.rawdata = [];
-    dataset_.missing.state = 0;
-    for jdata=1:periods,
-        temp1{jdata}=[1:dataset_.info.nvobs]';
-    end
-    dataset_.missing.aindex = temp1;
-    dataset_.missing.vindex = [];
-    dataset_.missing.number_of_observations = [];
-    dataset_.missing.no_more_missing_observations = 1;
-    dataset_.descriptive.mean = [];
-    dataset_.data = [];
-end
 
 if prior_exist
     if any(bayestopt_.pshape > 0)
diff --git a/matlab/identification_analysis.m b/matlab/identification_analysis.m
index ce39b30cc8b0ffec5c347031792f409ed51dfb1e..0706988386f8529b991e4641904a4bfa3824d641 100644
--- a/matlab/identification_analysis.m
+++ b/matlab/identification_analysis.m
@@ -134,18 +134,17 @@ if info(1)==0,
             options_.noprint = 1;
             options_.order = 1;
             options_.SpectralDensity.trigger = 0;
-            options_.periods = dataset_.nobs+100;
+            options_.periods = periods+100;
             if options_.kalman_algo > 2,
                 options_.kalman_algo = 1;
             end
             analytic_derivation = options_.analytic_derivation;
             options_.analytic_derivation = -2;
             info = stoch_simul(char(options_.varobs));
-            dataset_ = dseries(oo_.endo_simul(options_.varobs_id,100+1:end),dataset_.dates(1),dataset_.names,dataset_.tex);
-            %data_info.data=oo_.endo_simul(options_.varobs_id,100+1:end);
-            %                         datax=data;
+            dataset_ = dseries(oo_.endo_simul(options_.varobs_id,100+1:end)',dates('1Q1'), options_.varobs);            
             derivatives_info.no_DLIK=1;
-            [fval,DLIK,AHess,cost_flag,ys,trend_coeff,info,M_,options_,bayestopt_,oo_] = dsge_likelihood(params',dataset_,dataset_info,options_,M_,estim_params_,bayestopt_,oo_,derivatives_info);
+            bounds = prior_bounds(bayestopt_,options_);
+            [fval,DLIK,AHess,cost_flag,ys,trend_coeff,info,M_,options_,bayestopt_,oo_] = dsge_likelihood(params',dataset_,dataset_info,options_,M_,estim_params_,bayestopt_,bounds,oo_,derivatives_info);
 %                 fval = DsgeLikelihood(xparam1,data_info,options_,M_,estim_params_,bayestopt_,oo_);
             options_.analytic_derivation = analytic_derivation;
             AHess=-AHess;
diff --git a/matlab/utilities/dataset/makedataset.m b/matlab/utilities/dataset/makedataset.m
index f1ca78fde6541fea4ecbc705855fa53dee3d100d..86f40df100f51748e6fd02721cfbb59757b94a41 100644
--- a/matlab/utilities/dataset/makedataset.m
+++ b/matlab/utilities/dataset/makedataset.m
@@ -36,7 +36,8 @@ end
 if isempty(DynareOptions.datafile) && isempty(DynareOptions.dataset.file) && isempty(DynareOptions.dataset.series)
     if gsa_flag
         DynareDataset = dseries();
-        DatasetInfo = [];
+        DatasetInfo = struct('missing', struct('state', 0, 'aindex', [], 'vindex', [], 'number_of_observations', NaN, 'no_more_missing_observations', NaN), ...
+                     'descriptive', struct('mean', [], 'covariance', [], 'correlation', [], 'autocovariance', []));
         newdatainterface=0;
         return
     else