diff --git a/src/@dseries/merge.m b/src/@dseries/merge.m
index aab032ee6900dec5d140097281f867b1ec9ef29a..6827b7bc0357a3ff3996384b4d3f1c28dae697ec 100644
--- a/src/@dseries/merge.m
+++ b/src/@dseries/merge.m
@@ -32,13 +32,24 @@ function q = merge(o, p, rewritewithnans) % --*-- 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 ~isdseries(p)
+if ~isdseries(p) || ~isdseries(o)
     error('dseries::merge: Both inputs must be dseries objects!')
 end
 
+if isempty(o) && ~isempty(p)
+    q = p;
+    return
+elseif ~isempty(o) && isempty(p)
+    q = o;
+    return
+elseif isempty(o) && isempty(p)
+    q = p;
+    return
+end
+
 if ~isequal(frequency(o), frequency(p))
     if isempty(inputname(1))
-        error(['dseries::merge: Cannot merge dseries objects (frequencies are different)!'])
+        error('dseries::merge: Cannot merge dseries objects (frequencies are different)!')
     else
         error(['dseries::merge: Cannot merge ' inputname(1) ' and ' inputname(2) ' (frequencies are different)!'])
     end