diff --git a/matlab/dynare_identification.m b/matlab/dynare_identification.m
index 10c137e9fcf4bb37cc68551da2cdc03baf86b854..161212d02ddf9ef131c131fd653df9a1dccc927e 100644
--- a/matlab/dynare_identification.m
+++ b/matlab/dynare_identification.m
@@ -267,7 +267,9 @@ if iload <=0,
 %     normLRE = max(abs(siLRE)')';
     save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_point', 'idemoments_point','idemodel_point', 'idelre_point','store_options_ident')
     disp_identification(params, idemodel_point, idemoments_point, name);
-    plot_identification(params,idemoments_point,idehess_point,idemodel_point,idelre_point,advanced,parameters,name,IdentifDirectoryName);
+    if ~options_.nograph,
+        plot_identification(params,idemoments_point,idehess_point,idemodel_point,idelre_point,advanced,parameters,name,IdentifDirectoryName);
+    end
 
     if SampleSize > 1,
         disp(' ')
@@ -440,13 +442,17 @@ end
 if iload,
     disp(['Testing ',parameters])
     disp_identification(idehess_point.params, idemodel_point, idemoments_point, name);
-    plot_identification(idehess_point.params,idemoments_point,idehess_point,idemodel_point,idelre_point,advanced,parameters,name,IdentifDirectoryName);
+    if ~options_.nograph,
+        plot_identification(idehess_point.params,idemoments_point,idehess_point,idemodel_point,idelre_point,advanced,parameters,name,IdentifDirectoryName);
+    end
 end
 if SampleSize > 1,
     fprintf('\n')
     disp('Testing MC sample')
     disp_identification(pdraws, idemodel, idemoments, name);
-    plot_identification(pdraws,idemoments,idehess_point,idemodel,idelre,advanced,'MC sample - ',name, IdentifDirectoryName);
+    if ~options_.nograph,
+        plot_identification(pdraws,idemoments,idehess_point,idemodel,idelre,advanced,'MC sample - ',name, IdentifDirectoryName);
+    end
     if advanced,
         jcrit=find(idemoments.ino);
         if length(jcrit)<SampleSize,
@@ -463,7 +469,9 @@ if SampleSize > 1,
                 end
                 disp_identification(pdraws(jmax,:), idemodel_max, idemoments_max, name);
                 close all,
-                plot_identification(pdraws(jmax,:),idemoments_max,idehess_max,idemodel_max,idelre_max,1,tittxt,name,IdentifDirectoryName);
+                if ~options_.nograph,
+                    plot_identification(pdraws(jmax,:),idemoments_max,idehess_max,idemodel_max,idelre_max,1,tittxt,name,IdentifDirectoryName);
+                end
                 [dum,jmin]=min(idemoments.cond);
                 fprintf('\n')
                 tittxt = 'Draw with SMALLEST condition number';
@@ -476,7 +484,9 @@ if SampleSize > 1,
                 end
                 disp_identification(pdraws(jmin,:), idemodel_min, idemoments_min, name);
                 close all,
-                plot_identification(pdraws(jmin,:),idemoments_min,idehess_min,idemodel_min,idelre_min,1,tittxt,name,IdentifDirectoryName);
+                if ~options_.nograph,
+                    plot_identification(pdraws(jmin,:),idemoments_min,idehess_min,idemodel_min,idelre_min,1,tittxt,name,IdentifDirectoryName);
+                end
             else
                 for j=1:length(jcrit),
                     tittxt = ['Rank deficient draw n. ',int2str(j)];
@@ -488,7 +498,9 @@ if SampleSize > 1,
                     end
                     disp_identification(pdraws(jcrit(j),:), idemodel_(j), idemoments_(j), name);
                     close all,
-                    plot_identification(pdraws(jcrit(j),:),idemoments_(j),idehess_(j),idemodel_(j),idelre_(j),1,tittxt,name,IdentifDirectoryName);
+                    if ~options_.nograph,
+                        plot_identification(pdraws(jcrit(j),:),idemoments_(j),idehess_(j),idemodel_(j),idelre_(j),1,tittxt,name,IdentifDirectoryName);
+                    end
                 end
                 if ~iload,
                     save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_', 'idemoments_','idemodel_', 'idelre_', 'jcrit', '-append');
diff --git a/matlab/plot_identification.m b/matlab/plot_identification.m
index eda9b0b17cb88926e50e2c36d2a7b795226db1ef..c5e474d89a6d92ec85d6de280988a0e523f2a7a3 100644
--- a/matlab/plot_identification.m
+++ b/matlab/plot_identification.m
@@ -171,10 +171,10 @@ if SampleSize == 1,
         end
         for j=1:min(nparam,8),
             if j<5,
-                figure(f1),
+                set(0,'CurrentFigure',f1),
                 jj=j;
             else
-                figure(f2),
+                set(0,'CurrentFigure',f2),
                 jj=j-4;
             end
             subplot(4,1,jj),
@@ -261,7 +261,7 @@ else
 %         end
 
         if nparam<5,
-            f1 = dyn_figure(options_,'Name',[tittxt,' - MC Identification patterns (moments): HIGHEST SV'])
+            f1 = dyn_figure(options_,'Name',[tittxt,' - MC Identification patterns (moments): HIGHEST SV']);
         else
             f1 = dyn_figure(options_,'Name',[tittxt,' - MC Identification patterns (moments): SMALLEST SV']);
             f2 = dyn_figure(options_,'Name',[tittxt,' - MC Identification patterns (moments): HIGHEST SV']);
@@ -274,12 +274,12 @@ else
         end
         for j=1:nplots,
             if (nparam>4 && j<=ceil(nplots/2)) || nparam<5,
-                figure(f1),
+                set(0,'CurrentFigure',f1),
                 jj=j;
                 VVV=squeeze(abs(idemoments.V(:,:,end-j+1)));
                 SSS = idemoments.S(:,end-j+1);
             else
-                figure(f2),
+                set(0,'CurrentFigure',f2),
                 jj=j-ceil(nplots/2);
                 VVV=squeeze(abs(idemoments.V(:,:,jj)));
                 SSS = idemoments.S(:,jj);