diff --git a/src/terminal.c b/src/terminal.c
index f5cd2e0..1ce4db7 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -257,6 +257,17 @@
     split_ea.cmdidx = CMD_new;
     split_ea.cmd = (char_u *)"new";
     split_ea.arg = (char_u *)"";
+    if (opt->jo_term_rows > 0 && !(cmdmod.split & WSP_VERT))
+    {
+	split_ea.line2 = opt->jo_term_rows;
+	split_ea.addr_count = 1;
+    }
+    if (opt->jo_term_cols > 0 && (cmdmod.split & WSP_VERT))
+    {
+	split_ea.line2 = opt->jo_term_cols;
+	split_ea.addr_count = 1;
+    }
+
     ex_splitview(&split_ea);
     if (curwin == old_curwin)
     {
@@ -267,6 +278,12 @@
     term->tl_buffer = curbuf;
     curbuf->b_term = term;
 
+    /* only one size was taken care of with :new, do the other one */
+    if (opt->jo_term_rows > 0 && (cmdmod.split & WSP_VERT))
+	win_setheight(opt->jo_term_rows);
+    if (opt->jo_term_cols > 0 && !(cmdmod.split & WSP_VERT))
+	win_setwidth(opt->jo_term_cols);
+
     /* Link the new terminal in the list of active terminals. */
     term->tl_next = first_term;
     first_term = term;
@@ -338,7 +355,20 @@
     jobopt_T opt;
 
     init_job_options(&opt);
-    /* TODO: get options from before the command */
+
+    if (eap->addr_count == 2)
+    {
+	opt.jo_term_rows = eap->line1;
+	opt.jo_term_cols = eap->line2;
+    }
+    else if (eap->addr_count == 1)
+    {
+	if (cmdmod.split & WSP_VERT)
+	    opt.jo_term_cols = eap->line2;
+	else
+	    opt.jo_term_rows = eap->line2;
+    }
+    /* TODO: get more options from before the command */
 
     term_start(eap->arg, &opt);
 }
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 8c14fa4..863a784 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -171,3 +171,29 @@
   exe buf . 'bwipe'
   call delete('Xtext')
 endfunc
+
+func Test_terminal_size()
+  let cmd = Get_cat_cmd()
+
+  exe '5terminal ' . cmd
+  let size = term_getsize('')
+  bwipe!
+  call assert_equal(5, size[0])
+
+  vsplit
+  exe '5,33terminal ' . cmd
+  let size = term_getsize('')
+  bwipe!
+  call assert_equal([5, 33], size)
+
+  exe 'vertical 20terminal ' . cmd
+  let size = term_getsize('')
+  bwipe!
+  call assert_equal(20, size[1])
+
+  split
+  exe 'vertical 6,20terminal ' . cmd
+  let size = term_getsize('')
+  bwipe!
+  call assert_equal([6, 20], size)
+endfunc
diff --git a/src/version.c b/src/version.c
index d3b3215..a721d42 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    868,
+/**/
     867,
 /**/
     866,
