diff --git a/src/@dates/eq.m b/src/@dates/eq.m
index cb941691450e038d61c13772836a30a29104c97b..58ef96b7a062047fa3ecc9c05c232762d0cb855a 100644
--- a/src/@dates/eq.m
+++ b/src/@dates/eq.m
@@ -24,6 +24,11 @@ function l = eq(varargin) % --*-- Unitary tests --*--
 % You should have received a copy of the GNU General Public License
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
+if varargin{1}.ndat>1 && varargin{2}.ndat>1 && ~isequal(varargin{1}.ndat, varargin{2}.ndat)
+    l = false;
+    return
+end
+
 [o, p] = comparison_arg_checks(varargin{:});
 
 if isequal(o.ndat(), p.ndat())
diff --git a/src/@dates/private/comparison_arg_checks.m b/src/@dates/private/comparison_arg_checks.m
index e24fba0ddd8bf5dfcf21af3a0bd955ac058eab33..7fe8c057d62090bf1ad577e39da648fb7b73da37 100644
--- a/src/@dates/private/comparison_arg_checks.m
+++ b/src/@dates/private/comparison_arg_checks.m
@@ -41,7 +41,9 @@ end
 
 if ~isequal(varargin{1}.ndat, varargin{2}.ndat) && ~(isequal(varargin{1}.ndat,1) || isequal(varargin{2}.ndat,1))
     s = dbstack;
-    error(sprintf('dates:%s:ArgCheck',s(2).name),'Dimensions are not consistent!')
+    if ~isequal(s(2).name, 'eq')
+        error(sprintf('dates:%s:ArgCheck',s(2).name),'Dimensions are not consistent!')
+    end
 end
 
 o = varargin{1};