diff --git a/src/@dseries/rename.m b/src/@dseries/rename.m
index 2a038595d71e941bb5d7ae8c2fbc1eb5d11f4ecf..6d65b2ccc3a4bf5c16b16b76989798806a4e500a 100644
--- a/src/@dseries/rename.m
+++ b/src/@dseries/rename.m
@@ -17,14 +17,28 @@ function ts = rename(ts,old,new) % --*-- 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 ~ischar(old) || ~ischar(new)
-    error(['dseries::rename: Input arguments ''' inputname(2) ''' and ''' inputname(3) '''  have to be strings!'])
+if isempty(ts)
+    error('dseries::rename: Cannot rename variable(s) because the object is empty!')
 end
-    
-idname = find(strcmp(old,ts.name));
 
-if isempty(idname)
-    error(['dseries::rename: Variable ' old ' is unknown in dseries object ' inputname(1)  '!'])
+if nargin<3
+    if isequal(vobs(ts), 1)
+        new = old;
+    else
+        error('dseries::rename: Missing argument!')
+    end
+    if ~ischar(new)
+        error(['dseries::rename: Input argument ''' inputname(2)  '''  has to be a string!'])
+    end
+    idname = 1;
+else
+    if ~ischar(old) || ~ischar(new)
+        error(['dseries::rename: Input arguments ''' inputname(2) ''' and ''' inputname(3) '''  have to be strings!'])
+    end
+    idname = find(strcmp(old,ts.name));
+    if isempty(idname)
+        error(['dseries::rename: Variable ' old ' is unknown in dseries object ' inputname(1)  '!'])
+    end
 end
 
 ts.name(idname) = {new};