diff --git a/src/evalbuffer.c b/src/evalbuffer.c
index 5cf884a..3004415 100644
--- a/src/evalbuffer.c
+++ b/src/evalbuffer.c
@@ -364,16 +364,7 @@
     if (tv->v_type == VAR_UNKNOWN)
 	buf = curbuf;
     else
-    {
-	++emsg_off;
-	buf = tv_get_buf(tv, FALSE);
-	--emsg_off;
-	if (buf == NULL
-		&& tv->v_type != VAR_NUMBER
-		&& tv->v_type != VAR_STRING)
-	    // issue errmsg for type error
-	    (void)tv_get_number(tv);
-    }
+	buf = tv_get_buf_from_arg(tv);
     rettv->v_type = VAR_STRING;
     if (buf != NULL && buf->b_fname != NULL)
 	rettv->vval.v_string = vim_strsave(buf->b_fname);
@@ -394,13 +385,7 @@
     if (argvars[0].v_type == VAR_UNKNOWN)
 	buf = curbuf;
     else
-    {
-	if (argvars[0].v_type != VAR_STRING)
-	    (void)tv_get_number(&argvars[0]);    // issue errmsg if type error
-	++emsg_off;
-	buf = tv_get_buf(&argvars[0], FALSE);
-	--emsg_off;
-    }
+	buf = tv_get_buf_from_arg(&argvars[0]);
 
     // If the buffer isn't found and the second argument is not zero create a
     // new buffer.
@@ -425,9 +410,7 @@
     int		winnr = 0;
     buf_T	*buf;
 
-    (void)tv_get_number(&argvars[0]);	    // issue errmsg if type error
-    ++emsg_off;
-    buf = tv_get_buf(&argvars[0], TRUE);
+    buf = tv_get_buf_from_arg(&argvars[0]);
     FOR_ALL_WINDOWS(wp)
     {
 	++winnr;
@@ -435,7 +418,6 @@
 	    break;
     }
     rettv->vval.v_number = (wp != NULL ? (get_nr ? winnr : wp->w_id) : -1);
-    --emsg_off;
 }
 
 /*
@@ -662,10 +644,7 @@
     else if (argvars[0].v_type != VAR_UNKNOWN)
     {
 	// Information about one buffer.  Argument specifies the buffer
-	(void)tv_get_number(&argvars[0]);   // issue errmsg if type error
-	++emsg_off;
-	argbuf = tv_get_buf(&argvars[0], FALSE);
-	--emsg_off;
+	argbuf = tv_get_buf_from_arg(&argvars[0]);
 	if (argbuf == NULL)
 	    return;
     }
@@ -752,10 +731,7 @@
     linenr_T	end;
     buf_T	*buf;
 
-    (void)tv_get_number(&argvars[0]);	    // issue errmsg if type error
-    ++emsg_off;
-    buf = tv_get_buf(&argvars[0], FALSE);
-    --emsg_off;
+    buf = tv_get_buf_from_arg(&argvars[0]);
 
     lnum = tv_get_lnum_buf(&argvars[1], buf);
     if (argvars[2].v_type == VAR_UNKNOWN)
