diff --git a/matlab/mult_elimination.m b/matlab/mult_elimination.m
index 5ee8ef44856aec695c3c9c5d0153aa3e0eb6b282..f52315145621a361ee1995b218cc997e418d7a14 100644
--- a/matlab/mult_elimination.m
+++ b/matlab/mult_elimination.m
@@ -36,7 +36,7 @@ npred = dr.npred;
 order_var = dr.order_var;
 nstates = M_.endo_names(order_var(nstatic+(1:npred)),:);
 
-il = strmatch('mult_',nstates);
+il = strmatch('MULT_',nstates);
 nil = setdiff(1:dr.npred,il);
 m_nbr = length(il);
 nm_nbr = length(nil);
@@ -71,7 +71,7 @@ M4 = AA2*E2*[R2_1*Q2(:,1:n2)'*[Q1_12' Q1_22']*[B1;B2]; zeros(m_nbr-n2,size(B,2))
 k1 = nstatic+(1:npred);
 k1 = k1(nil);
 
-endo_nbr = M_.orig_model.endo_nbr;
+endo_nbr = M_.orig_endo_nbr;
 exo_nbr = M_.exo_nbr;
 
 lead_lag_incidence = M_.lead_lag_incidence(:,1:endo_nbr+exo_nbr);
@@ -101,23 +101,32 @@ dr.M4 = M4;
 
 nvar = length(varlist);
 nspred = dr.nspred;
-nspred = 6;
 if nvar > 0
-    res_table = zeros(2*(nspred+M_.exo_nbr),nvar);
+    res_table = zeros(2*(nm_nbr+M_.exo_nbr),nvar);
     headers = 'Variables';
     for i=1:length(varlist)
         k = strmatch(varlist{i},M_.endo_names(dr.order_var,:),'exact');
         headers = char(headers,varlist{i});
         
-        res_table(1:nspred,i) = M1(k,:)';
-        res_table(nspred+(1:nspred),i) = M2(k,:)';
-        res_table(2*nspred+(1:M_.exo_nbr),i) = M3(k,:)';
-        res_table(2*nspred+M_.exo_nbr+(1:M_.exo_nbr),i) = M4(k,:)';
+        res_table(1:nm_nbr,i) = M1(k,:)';
+        res_table(nm_nbr+(1:nm_nbr),i) = M2(k,:)';
+        res_table(2*nm_nbr+(1:M_.exo_nbr),i) = M3(k,:)';
+        res_table(2*nm_nbr+M_.exo_nbr+(1:M_.exo_nbr),i) = M4(k,:)';
     end
     
     my_title='ELIMINATION OF THE MULTIPLIERS';
-    lab1 = M_.endo_names(dr.order_var(dr.nstatic+[ 1 2 5:8]),:);
-    labels = char(lab1,lab1,M_.exo_names,M_.exo_names);
+    lab = nstates(nil,:);
+    labels = '';
+    for i = 1:size(lab,1)
+        labels = char(labels,strcat(deblank(lab(i,:)),'(-1)'));
+    end
+    for i = 1:size(lab,1)
+        labels = char(labels,strcat(deblank(lab(i,:)),'(-2)'));
+    end
+    labels = char(labels,M_.exo_names);
+    for i = 1:M_.exo_nbr
+        labels = char(labels,strcat(deblank(M_.exo_names(i,:)),'(-1)'));
+    end
     lh = size(labels,2)+2;
     dyntable(my_title,headers,labels,res_table,lh,10,6);
     disp(' ')
diff --git a/tests/optimal_policy/mult_elimination_test.mod b/tests/optimal_policy/mult_elimination_test.mod
index 8675ca03463313ce69a0eb11806b515458238d27..0f44d3d1bc85ec26cac42f4937a63dceed842d3a 100644
--- a/tests/optimal_policy/mult_elimination_test.mod
+++ b/tests/optimal_policy/mult_elimination_test.mod
@@ -50,7 +50,7 @@ ramsey_policy(order=1,irf=0,planner_discount=0.95);
 dr2 = mult_elimination({'R'},M_,options_,oo_);
 
 k1 = oo_.dr.nstatic+(1:oo_.dr.npred);
-k2 = strmatch('mult_',M_.endo_names(oo_.dr.order_var(k1),:));
+k2 = strmatch('MULT_',M_.endo_names(oo_.dr.order_var(k1),:));
 k3 = k1(setdiff(1:oo_.dr.npred,k2));
 k4 = oo_.dr.order_var(k3);