diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 89238d9..b3790d5 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -925,6 +925,12 @@
 							*SourcePre*
 SourcePre			Before sourcing a Vim script. |:source|
 				<afile> is the name of the file being sourced.
+							*SourcePost*
+SourcePost			After sourcing a Vim script. |:source|
+				<afile> is the name of the file being sourced.
+				Not triggered when sourcing was interrupted.
+				Also triggered after a SourceCmd autocommand
+				was triggered.
 							*SourceCmd*
 SourceCmd			When sourcing a Vim script. |:source|
 				<afile> is the name of the file being sourced.
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 74d5642..4d48c1b 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -4360,6 +4360,7 @@
 #ifdef FEAT_PROFILE
     proftime_T		    wait_start;
 #endif
+    int			    trigger_source_post = FALSE;
 
     p = expand_env_save(fname);
     if (p == NULL)
@@ -4384,6 +4385,10 @@
 #else
 	retval = OK;
 #endif
+	if (retval == OK)
+	    // Apply SourcePost autocommands.
+	    apply_autocmds(EVENT_SOURCEPOST, fname_exp, fname_exp,
+								FALSE, curbuf);
 	goto theend;
     }
 
@@ -4653,6 +4658,9 @@
     }
 #endif
 
+    if (!got_int)
+	trigger_source_post = TRUE;
+
 #ifdef FEAT_EVAL
     /*
      * After a "finish" in debug mode, need to break at first command of next
@@ -4679,6 +4687,10 @@
     convert_setup(&cookie.conv, NULL, NULL);
 #endif
 
+    if (trigger_source_post)
+	apply_autocmds(EVENT_SOURCEPOST, si->sn_name, si->sn_name,
+								FALSE, curbuf);
+
 theend:
     vim_free(fname_exp);
     return retval;
diff --git a/src/fileio.c b/src/fileio.c
index fd8fd24..929cc15 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7795,8 +7795,9 @@
     {"SessionLoadPost",	EVENT_SESSIONLOADPOST},
     {"ShellCmdPost",	EVENT_SHELLCMDPOST},
     {"ShellFilterPost",	EVENT_SHELLFILTERPOST},
-    {"SourcePre",	EVENT_SOURCEPRE},
     {"SourceCmd",	EVENT_SOURCECMD},
+    {"SourcePre",	EVENT_SOURCEPRE},
+    {"SourcePost",	EVENT_SOURCEPOST},
     {"SpellFileMissing",EVENT_SPELLFILEMISSING},
     {"StdinReadPost",	EVENT_STDINREADPOST},
     {"StdinReadPre",	EVENT_STDINREADPRE},
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 8db2995..8d83516 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -222,6 +222,7 @@
 	test_signs \
 	test_smartindent \
 	test_sort \
+	test_source \
 	test_source_utf8 \
 	test_spell \
 	test_startup \
@@ -376,6 +377,7 @@
 	test_shortpathname.res \
 	test_signs.res \
 	test_smartindent.res \
+	test_source.res \
 	test_spell.res \
 	test_startup.res \
 	test_stat.res \
diff --git a/src/testdir/test_source.vim b/src/testdir/test_source.vim
new file mode 100644
index 0000000..a33d286
--- /dev/null
+++ b/src/testdir/test_source.vim
@@ -0,0 +1,38 @@
+" Tests for the :source command.
+
+func Test_source_autocmd()
+  call writefile([
+	\ 'let did_source = 1',
+	\ ], 'Xsourced')
+  au SourcePre *source* let did_source_pre = 1
+  au SourcePost *source* let did_source_post = 1
+
+  source Xsourced
+
+  call assert_equal(g:did_source, 1)
+  call assert_equal(g:did_source_pre, 1)
+  call assert_equal(g:did_source_post, 1)
+
+  call delete('Xsourced')
+  au! SourcePre
+  au! SourcePost
+  unlet g:did_source
+  unlet g:did_source_pre
+  unlet g:did_source_post
+endfunc
+
+func Test_source_cmd()
+  au SourceCmd *source* let did_source = expand('<afile>')
+  au SourcePre *source* let did_source_pre = 2
+  au SourcePost *source* let did_source_post = 2
+
+  source Xsourced
+
+  call assert_equal(g:did_source, 'Xsourced')
+  call assert_false(exists('g:did_source_pre'))
+  call assert_equal(g:did_source_post, 2)
+
+  au! SourceCmd
+  au! SourcePre
+  au! SourcePost
+endfunc
diff --git a/src/version.c b/src/version.c
index 8ef6660..118a867 100644
--- a/src/version.c
+++ b/src/version.c
@@ -796,6 +796,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    729,
+/**/
     728,
 /**/
     727,
diff --git a/src/vim.h b/src/vim.h
index be86c6b..150f39c 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1324,6 +1324,7 @@
     EVENT_SHELLFILTERPOST,	// after ":1,2!cmd", ":w !cmd", ":r !cmd".
     EVENT_SOURCECMD,		// sourcing a Vim script using command
     EVENT_SOURCEPRE,		// before sourcing a Vim script
+    EVENT_SOURCEPOST,		// after sourcing a Vim script
     EVENT_SPELLFILEMISSING,	// spell file missing
     EVENT_STDINREADPOST,	// after reading from stdin
     EVENT_STDINREADPRE,		// before reading from stdin
