diff --git a/src/testdir/test_python2.vim b/src/testdir/test_python2.vim
index ac43e60..de5f607 100644
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -809,6 +809,49 @@
   call AssertException(['let v = pyeval("vim")'], 'E859:')
 endfunc
 
+" Test for py3eval with locals
+func Test_python_pyeval_locals()
+  let str = 'a string'
+  let num = 0xbadb33f
+  let d = {'a': 1, 'b': 2, 'c': str}
+  let l = [ str, num, d ]
+
+  let locals = #{
+        \ s: str,
+        \ n: num,
+        \ d: d,
+        \ l: l,
+        \ }
+
+  " check basics
+  call assert_equal('a string', pyeval('s', locals))
+  call assert_equal(0xbadb33f, pyeval('n', locals))
+  call assert_equal(d, pyeval('d', locals))
+  call assert_equal(l, pyeval('l', locals))
+
+  py << trim EOF
+  def __UpdateDict(d, upd):
+    d.update(upd)
+    return d
+
+  def __ExtendList(l, *args):
+    l.extend(*args)
+    return l
+  EOF
+
+  " check assign to dict member works like bindeval
+  call assert_equal(3, pyeval('__UpdateDict( d, {"c": 3} )["c"]', locals))
+  call assert_equal(3, d['c'])
+
+  " check append lo list
+  call assert_equal(4, pyeval('len(__ExtendList(l, ["new item"]))', locals))
+  call assert_equal("new item", l[-1])
+
+  " check calling a function
+  let StrLen = function('strlen')
+  call assert_equal(3, pyeval('f("abc")', {'f': StrLen}))
+endfunc
+
 " Test for vim.bindeval()
 func Test_python_vim_bindeval()
   " Float
