diff --git a/matlab/gensylv/sylvester3.m b/matlab/gensylv/sylvester3.m
index b2b18f5949bb481ae867b8b1d01decdb7f53c599..fcc5d8e78063b0ad10fc3670861236109d9771d4 100644
--- a/matlab/gensylv/sylvester3.m
+++ b/matlab/gensylv/sylvester3.m
@@ -1,4 +1,4 @@
-function x=sylvester3mr(a,b,c,d)
+function x=sylvester3(a,b,c,d)
 % solves a*x+b*x*c=d where d is [n x m x p]
 
 % Copyright (C) 2005-2009 Dynare Team
@@ -21,6 +21,7 @@ function x=sylvester3mr(a,b,c,d)
 n = size(a,1);
 m = size(c,1);
 p = size(d,3);
+x=zeros(n,m,p);
 if n == 1
     for j=1:p,
         x(:,:,j)=d(:,:,j)./(a*ones(1,m)+b*c);
@@ -33,7 +34,6 @@ if m == 1
     end
     return;
 end
-x=zeros(n,m,p);
 [u,t]=schur(c);
 if exist('OCTAVE_VERSION')
     [aa,bb,qq,zz]=qz(full(a),full(b));
diff --git a/matlab/gensylv/sylvester3a.m b/matlab/gensylv/sylvester3a.m
index 2200ef4d171b0edc9c19bdb8beee40d5628c8d89..00724dc387bbfa5efd5d26e45ec7592526ab592e 100644
--- a/matlab/gensylv/sylvester3a.m
+++ b/matlab/gensylv/sylvester3a.m
@@ -32,7 +32,7 @@ for j=1:size(dd,3),
         iter = iter + 1;
     end
     if iter == 500
-        sprintf('sylvester3amr : Only accuracy of %10.8f is achieved after 500 iterations',e);
+        sprintf('sylvester3a : Only accuracy of %10.8f is achieved after 500 iterations',e);
         flag=1;
     end
 end
\ No newline at end of file