diff --git a/matlab/get_equation_name_by_number.m b/matlab/get_equation_name_by_number.m
index 11f988847..b82963a3c 100644
--- a/matlab/get_equation_name_by_number.m
+++ b/matlab/get_equation_name_by_number.m
@@ -18,11 +18,13 @@ function eqname = get_equation_name_by_number(eqnumber, M_)
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see .
-idx_for_this_eq = find(cell2mat(M_.equations_tags(:,1)) == eqnumber);
-eqname = cell2mat(M_.equations_tags(idx_for_this_eq(strmatch('name', M_.equations_tags(idx_for_this_eq, 2), 'exact')), 3));
+idx = find((cell2mat(M_.equations_tags(:,1)) == eqnumber) & ...
+ strcmp(M_.equations_tags(:,2), 'name'));
-if isempty(eqname)
+if isempty(idx)
eqname = '';
+else
+ eqname = M_.equations_tags{idx, 3};
end
end
diff --git a/matlab/get_equation_number_by_tag.m b/matlab/get_equation_number_by_tag.m
index 8e1a404a6..e2e3e0ef1 100644
--- a/matlab/get_equation_number_by_tag.m
+++ b/matlab/get_equation_number_by_tag.m
@@ -1,4 +1,4 @@
-function eqnumber = get_equation_number_by_tag(eqname, DynareModel)
+function eqnumber = get_equation_number_by_tag(eqname, M_)
% Translates an equation name into an equation number.
%
@@ -9,7 +9,7 @@ function eqnumber = get_equation_number_by_tag(eqname, DynareModel)
% OUTPUTS
% - eqnumber [integer] Equation number.
-% Copyright © 2018-2020 Dynare Team
+% Copyright © 2018-2022 Dynare Team
%
% This file is part of Dynare.
%
@@ -26,6 +26,13 @@ function eqnumber = get_equation_number_by_tag(eqname, DynareModel)
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see .
-eqnumber = strmatch(eqname, DynareModel.equations_tags(strmatch('name', DynareModel.equations_tags(:,2), 'exact'), 3), 'exact');
+idx = find(strcmp(M_.equations_tags(:,2), 'name') & ...
+ strcmp(M_.equations_tags(:,3), eqname));
-if isempty(eqnumber), eqnumber = 0; end
\ No newline at end of file
+if isempty(idx)
+ eqnumber = 0;
+else
+ eqnumber = M_.equations_tags{idx, 1};
+end
+
+end