diff --git a/src/@dates/intersect.m b/src/@dates/intersect.m
index 658f4baf2f090db032b25d0ff67694c1a4ad0de5..0003b3fb4d95920c751f1bbef0876d449568a041 100644
--- a/src/@dates/intersect.m
+++ b/src/@dates/intersect.m
@@ -38,9 +38,10 @@ if ~isequal(o.freq,p.freq)
     return
 end
 
-% Octave 6.1.0 added support for the 'legacy' option, but we don't use it
-% because of this bug: https://savannah.gnu.org/bugs/?59708
-if isoctave || matlab_ver_less_than('8.1.0')
+% Octave 6.1.0 added support for the 'legacy' option, but it was buggy.
+% The problem should be fixed in Octave 6.2.0.
+% See: https://savannah.gnu.org/bugs/?59708
+if (isoctave && octave_ver_less_than('6.2')) || (~isoctave && matlab_ver_less_than('8.1.0'))
     time = intersect(o.time,p.time,'rows');
 else
     time = intersect(o.time,p.time,'rows','legacy');