diff --git a/src/@dates/intersect.m b/src/@dates/intersect.m
index 95b8474a6049cf6ca251ac2f0bdf8b44da2491a6..738e32ed59c7c138ea32596386bd6c8d9c061d2e 100644
--- a/src/@dates/intersect.m
+++ b/src/@dates/intersect.m
@@ -1,40 +1,22 @@
-function C = intersect(A,B) % --*-- Unitary tests --*--
+function q = intersect(o, p) % --*-- Unitary tests --*--
 
-%@info:
-%! @deftypefn {Function File} {@var{C} =} intersect (@var{A},@var{B})
-%! @anchor{@dates/intersect}
-%! @sp 1
-%! C of B and A.
-%! if A and B are not disjoints.
-%! @sp 2
-%! @strong{Inputs}
-%! @sp 1
-%! @table @ @var
-%! @item A
-%! @ref{dates} object.
-%! @item B
-%! @ref{dates} object.
-%! @end table
-%! @sp 2
-%! @strong{Outputs}
-%! @sp 1
-%! @table @ @var
-%! @item C
-%! @ref{dates} object.
-%! @end table
-%! @end deftypefn
-%@eod:
-
-% Copyright (C) 2013 Dynare Team
+% Overloads intersect function for dates objects.
+%
+% INPUTS 
+% - o [dates]
+% - p [dates]
 %
-% This file is part of Dynare.
+% OUTPUTS 
+% - q [dates] All the common elements in o and p.
+
+% Copyright (C) 2013-2014 Dynare Team
 %
-% Dynare is free software: you can redistribute it and/or modify
+% This code is free software: you can redistribute it and/or modify
 % it under the terms of the GNU General Public License as published by
 % the Free Software Foundation, either version 3 of the License, or
 % (at your option) any later version.
 %
-% Dynare is distributed in the hope that it will be useful,
+% Dynare dates submodule is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 % GNU General Public License for more details.
@@ -42,34 +24,34 @@ function C = intersect(A,B) % --*-- 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 ~isa(A,'dates') || ~isa(B,'dates')
-    error(['dates::plus: Input arguments ''' inputname(1) ''' and ''' inputname(2) ''' must be dates objects!'])
+if ~isa(o,'dates') || ~isa(p,'dates')
+    error('dates:intersect:ArgCheck','All input arguments must be dates objects!')
 end
 
-if eq(A,B)
-    C = A;
+if o.length()==p.length() && o==p
+    q = copy(a);
     return
 end
 
-if ~isequal(A.freq,B.freq)
-    C = dates();
+if ~isequal(o.freq,p.freq)
+    q = dates();
     return
 end
 
 if isoctave || matlab_ver_less_than('8.1.0')
-    time = intersect(A.time,B.time,'rows');
+    time = intersect(o.time,p.time,'rows');
 else
-    time = intersect(A.time,B.time,'rows','legacy');
+    time = intersect(o.time,p.time,'rows','legacy');
 end
 
-C = dates();
+q = dates();
 if isempty(time)
     return
 end
 
-C.freq = A.freq;
-C.time = time;
-C.ndat = rows(time); 
+q.freq = o.freq;
+q.time = time;
+q.ndat = rows(time); 
 
 %@test:1
 %$ % Define some dates objects