diff --git a/matlab/disp_identification.m b/matlab/disp_identification.m
index 057981de8862baaac86dea86e3f6d4e8afd5007d..16e25924bce107cff245b78b72de7e7cdc0dcfd8 100644
--- a/matlab/disp_identification.m
+++ b/matlab/disp_identification.m
@@ -1,4 +1,4 @@
-function disp_identification(pdraws, idemodel, idemoments, name)
+function disp_identification(pdraws, idemodel, idemoments, name, advanced)
 
 % Copyright (C) 2008-2011 Dynare Team
 %
@@ -19,6 +19,10 @@ function disp_identification(pdraws, idemodel, idemoments, name)
 
 global options_
 
+if nargin < 5 || isempty(advanced),
+    advanced=0;
+end
+
 [SampleSize, npar] = size(pdraws);
 % jok = 0;
 % jokP = 0;
@@ -261,3 +265,27 @@ end
 % end
 % disp(' ')
 
+% identificaton patterns
+if SampleSize==1 && advanced,
+    disp(' ')
+    disp('Press ENTER to print advanced diagnostics'), pause(5),
+    for  j=1:size(idemoments.cosnJ,2),
+        pax=NaN(npar,npar);
+        fprintf('\n')
+        disp(['Collinearity patterns with ', int2str(j) ,' parameter(s)'])
+        fprintf('%-15s [%-*s] %10s\n','Parameter',(15+1)*j,' Expl. params ','cosn')
+        for i=1:npar,
+            namx='';
+            for in=1:j,
+                dumpindx = idemoments.pars{i,j}(in);
+                if isnan(dumpindx),
+                    namx=[namx ' ' sprintf('%-15s','--')];
+                else
+                    namx=[namx ' ' sprintf('%-15s',name{dumpindx})];
+                    pax(i,dumpindx)=idemoments.cosnJ(i,j);
+                end
+            end
+            fprintf('%-15s [%s] %10.3f\n',name{i},namx,idemoments.cosnJ(i,j))
+        end
+    end
+end
diff --git a/matlab/dynare_identification.m b/matlab/dynare_identification.m
index 161212d02ddf9ef131c131fd653df9a1dccc927e..fb8174a8555fa9f25369ce31ffc8b2fff2da9017 100644
--- a/matlab/dynare_identification.m
+++ b/matlab/dynare_identification.m
@@ -266,7 +266,7 @@ if iload <=0,
 %     normJ = max(abs(siJ)')';
 %     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);
+    disp_identification(params, idemodel_point, idemoments_point, name, advanced);
     if ~options_.nograph,
         plot_identification(params,idemoments_point,idehess_point,idemodel_point,idelre_point,advanced,parameters,name,IdentifDirectoryName);
     end
@@ -441,7 +441,7 @@ end
 
 if iload,
     disp(['Testing ',parameters])
-    disp_identification(idehess_point.params, idemodel_point, idemoments_point, name);
+    disp_identification(idehess_point.params, idemodel_point, idemoments_point, name,advanced);
     if ~options_.nograph,
         plot_identification(idehess_point.params,idemoments_point,idehess_point,idemodel_point,idelre_point,advanced,parameters,name,IdentifDirectoryName);
     end
@@ -467,7 +467,7 @@ if SampleSize > 1,
                         identification_analysis(pdraws(jmax,:),indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
                     save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_max', 'idemoments_max','idemodel_max', 'idelre_max', 'jmax', '-append');
                 end
-                disp_identification(pdraws(jmax,:), idemodel_max, idemoments_max, name);
+                disp_identification(pdraws(jmax,:), idemodel_max, idemoments_max, name,1);
                 close all,
                 if ~options_.nograph,
                     plot_identification(pdraws(jmax,:),idemoments_max,idehess_max,idemodel_max,idelre_max,1,tittxt,name,IdentifDirectoryName);
@@ -482,7 +482,7 @@ if SampleSize > 1,
                         identification_analysis(pdraws(jmin,:),indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
                     save([IdentifDirectoryName '/' M_.fname '_identif.mat'], 'idehess_min', 'idemoments_min','idemodel_min', 'idelre_min', 'jmin', '-append');
                 end
-                disp_identification(pdraws(jmin,:), idemodel_min, idemoments_min, name);
+                disp_identification(pdraws(jmin,:), idemodel_min, idemoments_min, name,1);
                 close all,
                 if ~options_.nograph,
                     plot_identification(pdraws(jmin,:),idemoments_min,idehess_min,idemodel_min,idelre_min,1,tittxt,name,IdentifDirectoryName);
@@ -496,7 +496,7 @@ if SampleSize > 1,
                         [idehess_(j), idemoments_(j), idemodel_(j), idelre_(j), derivatives_info_(j)] = ...
                             identification_analysis(pdraws(jcrit(j),:),indx,indexo,options_ident,dataset_, prior_exist, name_tex,1);
                     end
-                    disp_identification(pdraws(jcrit(j),:), idemodel_(j), idemoments_(j), name);
+                    disp_identification(pdraws(jcrit(j),:), idemodel_(j), idemoments_(j), name,1);
                     close all,
                     if ~options_.nograph,
                         plot_identification(pdraws(jcrit(j),:),idemoments_(j),idehess_(j),idemodel_(j),idelre_(j),1,tittxt,name,IdentifDirectoryName);
diff --git a/matlab/plot_identification.m b/matlab/plot_identification.m
index c5e474d89a6d92ec85d6de280988a0e523f2a7a3..d439eb6a6877d61c0bb00967d6b0bbd30f6b75b8 100644
--- a/matlab/plot_identification.m
+++ b/matlab/plot_identification.m
@@ -87,8 +87,10 @@ if SampleSize == 1,
     dyn_saveas(hh,[IdentifDirectoryName '/' M_.fname '_ident_strength_' tittxt1],options_);
     
     if advanced,
-        disp(' ')
-        disp('Press ENTER to display advanced diagnostics'), pause(5),
+        if ~options_.nodisplay,
+            disp(' ')
+            disp('Press ENTER to plot advanced diagnostics'), pause(5),
+        end
         hh = dyn_figure(options_,'Name',[tittxt, ' - Sensitivity plot']);
         subplot(211)
         mmm = (siJnorm)'./max(siJnorm);
@@ -112,9 +114,9 @@ if SampleSize == 1,
         % identificaton patterns
         for  j=1:size(idemoments.cosnJ,2),
             pax=NaN(nparam,nparam);
-            fprintf('\n')
-            disp(['Collinearity patterns with ', int2str(j) ,' parameter(s)'])
-            fprintf('%-15s [%-*s] %10s\n','Parameter',(15+1)*j,' Expl. params ','cosn')
+%             fprintf('\n')
+%             disp(['Collinearity patterns with ', int2str(j) ,' parameter(s)'])
+%             fprintf('%-15s [%-*s] %10s\n','Parameter',(15+1)*j,' Expl. params ','cosn')
             for i=1:nparam,
                 namx='';
                 for in=1:j,
@@ -126,7 +128,7 @@ if SampleSize == 1,
                         pax(i,dumpindx)=idemoments.cosnJ(i,j);
                     end
                 end
-                fprintf('%-15s [%s] %10.3f\n',name{i},namx,idemoments.cosnJ(i,j))
+%                 fprintf('%-15s [%s] %10.3f\n',name{i},namx,idemoments.cosnJ(i,j))
             end
             hh = dyn_figure(options_,'Name',[tittxt,' - Collinearity patterns with ', int2str(j) ,' parameter(s)']);
             imagesc(pax,[0 1]);
@@ -228,8 +230,10 @@ else
     title('MC mean of sensitivity measures')
     dyn_saveas(hh,[ IdentifDirectoryName '/' M_.fname '_MC_sensitivity' ],options_);
     if advanced,
-        disp(' ')
-        disp('Press ENTER to display advanced diagnostics'), pause(5),
+        if ~options_.nodisplay,
+            disp(' ')
+            disp('Press ENTER to display advanced diagnostics'), pause(5),
+        end
 %         options_.nograph=1;
         hh = dyn_figure(options_,'Name','MC Condition Number');
         subplot(221)