diff --git a/src/evalfunc.c b/src/evalfunc.c
index 804dbb4..449bc67 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4197,6 +4197,7 @@
     dictitem_T	*di;
     dict_T	*d;
     typval_T	*tv = NULL;
+    int		what_is_dict = FALSE;
 
     if (argvars[0].v_type == VAR_BLOB)
     {
@@ -4270,7 +4271,11 @@
 		}
 	    }
 	    else if (STRCMP(what, "dict") == 0)
-		rettv_dict_set(rettv, pt->pt_dict);
+	    {
+		what_is_dict = TRUE;
+		if (pt->pt_dict != NULL)
+		    rettv_dict_set(rettv, pt->pt_dict);
+	    }
 	    else if (STRCMP(what, "args") == 0)
 	    {
 		rettv->v_type = VAR_LIST;
@@ -4284,7 +4289,11 @@
 	    }
 	    else
 		semsg(_(e_invarg2), what);
-	    return;
+
+	    // When {what} == "dict" and pt->pt_dict == NULL, evaluate the
+	    // third argument
+	    if (!what_is_dict)
+		return;
 	}
     }
     else
diff --git a/src/testdir/test_getvar.vim b/src/testdir/test_getvar.vim
index d6b6b69..3b61d68 100644
--- a/src/testdir/test_getvar.vim
+++ b/src/testdir/test_getvar.vim
@@ -1,4 +1,5 @@
-" Tests for getwinvar(), gettabvar() and gettabwinvar().
+" Tests for getwinvar(), gettabvar(), gettabwinvar() and get().
+
 func Test_var()
   " Use strings to test for memory leaks.  First, check that in an empty
   " window, gettabvar() returns the correct value
@@ -102,3 +103,44 @@
   close
   redrawstatus!
 endfunc
+
+" Test get() function using default value.
+
+" get({dict}, {key} [, {default}])
+func Test_get_dict()
+  let d = {'foo': 42}
+  call assert_equal(42, get(d, 'foo', 99))
+  call assert_equal(999, get(d, 'bar', 999))
+endfunc
+
+" get({list}, {idx} [, {default}])
+func Test_get_list()
+  let l = [1,2,3]
+  call assert_equal(1, get(l, 0, 999))
+  call assert_equal(3, get(l, -1, 999))
+  call assert_equal(999, get(l, 3, 999))
+endfunc
+
+" get({blob}, {idx} [, {default}]) - in test_blob.vim
+
+" get({lambda}, {what} [, {default}])
+func Test_get_lambda()
+  let l:L = {-> 42}
+  call assert_match('^<lambda>', get(l:L, 'name'))
+  call assert_equal(l:L, get(l:L, 'func'))
+  call assert_equal({'lambda has': 'no dict'}, get(l:L, 'dict', {'lambda has': 'no dict'}))
+  call assert_equal(0, get(l:L, 'dict'))
+  call assert_equal([], get(l:L, 'args'))
+endfunc
+
+" get({func}, {what} [, {default}])
+func Test_get_func()
+  let l:F = function('tr')
+  call assert_equal('tr', get(l:F, 'name'))
+  call assert_equal(l:F, get(l:F, 'func'))
+  call assert_equal({'func has': 'no dict'}, get(l:F, 'dict', {'func has': 'no dict'}))
+  call assert_equal(0, get(l:F, 'dict'))
+  call assert_equal([], get(l:F, 'args'))
+endfunc
+
+" get({partial}, {what} [, {default}]) - in test_partial.vim
diff --git a/src/testdir/test_partial.vim b/src/testdir/test_partial.vim
index b180510..e7a7d05 100644
--- a/src/testdir/test_partial.vim
+++ b/src/testdir/test_partial.vim
@@ -320,6 +320,11 @@
   call assert_equal('MyDictFunc', get(Func, 'name'))
   call assert_equal([], get(Func, 'args'))
   call assert_true(empty( get(Func, 'dict')))
+
+  let P = function('substitute', ['hello there', 'there'])
+  let dict = {'partial has': 'no dict'}
+  call assert_equal(dict, get(P, 'dict', dict))
+  call assert_equal(0, get(l:P, 'dict'))
 endfunc
 
 func Test_compare_partials()
diff --git a/src/version.c b/src/version.c
index 6619c7b..2ec8f4d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1765,
+/**/
     1764,
 /**/
     1763,
