diff --git a/src/gui_define_model_settings.m b/src/gui_define_model_settings.m
index 5eb9f6f74df1cc597e73fe8ef1ae5d6d46590252..be43942fbc60acb1d464dad6866fe4a3852886c9 100644
--- a/src/gui_define_model_settings.m
+++ b/src/gui_define_model_settings.m
@@ -97,14 +97,6 @@ uicontrol(tabId, 'Style','pushbutton','String','Close this tab','Units','normali
             model_settings.params = current_settings.params;
             model_settings.shocks_corr = current_settings.shocks_corr;
 
-            %save current values
-            for ii = 1:M_.exo_nbr
-                if project_info.project_model_stochastic
-                    M_.Sigma_e(ii,ii) = (current_settings.shocks{ii,4})^2;
-                else
-                    ex0_(ii) = str2double(current_settings.shocks{ii,4});
-                end
-            end
 % Doesn't support multiple shock groups for single shock.... needs new
 % interface for that
 %             if isfield(M_, 'shock_groups')
@@ -144,10 +136,12 @@ uicontrol(tabId, 'Style','pushbutton','String','Close this tab','Units','normali
 %                 end
 %             end
 
-            for ii = 1:M_.param_nbr
-                M_.params(ii) = current_settings.params{ii,4};
+            if project_info.project_model_stochastic
+                M_.Sigma_e(1:1+size(M_.Sigma_e,1):end) = cellfun(@(A) A^2, current_settings.shocks(:,4));
+            else
+                ex0_ = cell2mat(current_settings.shocks(:,4));
             end
-
+            M_.params = [current_settings.params{:, 4}]';
             oo_.steady_state = cell2mat(model_settings.variables(:, 8));
 
             gui_tools.project_log_entry('Saving model settings', '...');