diff --git a/src/testdir/test_sound.vim b/src/testdir/test_sound.vim
index c8f6305..cc01bf6 100644
--- a/src/testdir/test_sound.vim
+++ b/src/testdir/test_sound.vim
@@ -1,12 +1,12 @@
 " Tests for the sound feature
 
+source check.vim
 source shared.vim
 
-if !has('sound')
-  throw 'Skipped: sound feature not available'
-endif
+CheckFeature sound
 
 func PlayCallback(id, result)
+  let g:playcallback_count += 1
   let g:id = a:id
   let g:result = a:result
 endfunc
@@ -15,20 +15,24 @@
   if has('win32')
     throw 'Skipped: Playing event with callback is not supported on Windows'
   endif
+  let g:playcallback_count = 0
   let g:id = 0
   let id = 'bell'->sound_playevent('PlayCallback')
   if id == 0
     throw 'Skipped: bell event not available'
   endif
+
   " Stop it quickly, avoid annoying the user.
   sleep 20m
   eval id->sound_stop()
   call WaitForAssert({-> assert_equal(id, g:id)})
   call assert_equal(1, g:result)  " sound was aborted
+  call assert_equal(1, g:playcallback_count)
 endfunc
 
 func Test_play_silent()
   let fname = fnamemodify('silent.wav', '%p')
+  let g:playcallback_count = 0
 
   " play without callback
   let id1 = sound_playfile(fname)
@@ -41,6 +45,7 @@
   call assert_true(id2 > 0)
   call WaitForAssert({-> assert_equal(id2, g:id)})
   call assert_equal(0, g:result)
+  call assert_equal(1, g:playcallback_count)
 
   let id2 = sound_playfile(fname, 'PlayCallback')
   call assert_true(id2 > 0)
@@ -48,6 +53,13 @@
   call sound_clear()
   call WaitForAssert({-> assert_equal(id2, g:id)})
   call assert_equal(1, g:result)  " sound was aborted
+  call assert_equal(2, g:playcallback_count)
+
+  " Play 2 sounds almost at the same time to exercise
+  " code with multiple callbacks in the callback list.
+  call sound_playfile(fname, 'PlayCallback')
+  call sound_playfile(fname, 'PlayCallback')
+  call WaitForAssert({-> assert_equal(4, g:playcallback_count)})
 
   " recursive use was causing a crash
   func PlayAgain(id, fname)
@@ -62,4 +74,25 @@
   call WaitForAssert({-> assert_true(g:id > 0)})
 endfunc
 
+func Test_play_event_error()
+  " Do not run test on Windows as:
+  " - playing event with callback is not supported on Windows.
+  " - FIXME: even without callback, sound_playevent('') does not return 0 on Windows. Bug?
+  CheckNotMSWindows
+
+  call assert_equal(0, sound_playevent(''))
+  call assert_equal(0, sound_playevent(test_null_string()))
+  call assert_equal(0, sound_playevent('doesnotexist'))
+  call assert_equal(0, sound_playevent('doesnotexist', 'doesnotexist'))
+  call assert_equal(0, sound_playevent(test_null_string(), test_null_string()))
+  call assert_equal(0, sound_playevent(test_null_string(), test_null_function()))
+
+  call assert_equal(0, sound_playfile(''))
+  call assert_equal(0, sound_playfile(test_null_string()))
+  call assert_equal(0, sound_playfile('doesnotexist'))
+  call assert_equal(0, sound_playfile('doesnotexist', 'doesnotexist'))
+  call assert_equal(0, sound_playfile(test_null_string(), test_null_string()))
+  call assert_equal(0, sound_playfile(test_null_string(), test_null_function()))
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 94a4cfb..06340e3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2950,
+/**/
     2949,
 /**/
     2948,
