diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 3768569..52575bf 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -3058,14 +3058,14 @@
     static void
 may_do_filetypes(char_u *pat)
 {
-    char_u *cmd = vim_strsave((char_u *)"did_load_filetypes");
+    char_u *cmd = vim_strsave((char_u *)"g:did_load_filetypes");
 
     /* If runtime/filetype.vim wasn't loaded yet, the scripts will be found
      * when it loads. */
     if (cmd != NULL && eval_to_number(cmd) > 0)
     {
 	do_cmdline_cmd((char_u *)"augroup filetypedetect");
-	source_runtime(pat, TRUE);
+	do_in_path(p_pp, pat, TRUE, source_callback, NULL);
 	do_cmdline_cmd((char_u *)"augroup END");
     }
     vim_free(cmd);
@@ -3125,8 +3125,8 @@
 	if (p_rtp[keep] != NUL)
 	    mch_memmove(new_rtp + keep + 1 + addlen, p_rtp + keep,
 							   oldlen - keep + 1);
-	free_string_option(p_rtp);
-	p_rtp = new_rtp;
+	set_option_value((char_u *)"rtp", 0L, new_rtp, 0);
+	vim_free(new_rtp);
     }
     *p2 = c;
 
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 8901b15..4c3c616 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -178,6 +178,7 @@
 	    test_increment.res \
 	    test_json.res \
 	    test_langmap.res \
+	    test_loadplugin.res \
 	    test_perl.res \
 	    test_quickfix.res \
 	    test_syntax.res \
diff --git a/src/testdir/test_loadplugin.vim b/src/testdir/test_loadplugin.vim
new file mode 100644
index 0000000..25c6715
--- /dev/null
+++ b/src/testdir/test_loadplugin.vim
@@ -0,0 +1,25 @@
+" Tests for :loadplugin
+
+func Test_loadplugin()
+  let topdir = expand('%:h') . '/Xdir'
+  exe 'set packpath=' . topdir
+  let plugdir = topdir . '/pack/mine/opt/mytest'
+  call mkdir(plugdir . '/plugin', 'p')
+  call mkdir(plugdir . '/ftdetect', 'p')
+  filetype on
+  try
+    exe 'split ' . plugdir . '/plugin/test.vim'
+    call setline(1, 'let g:plugin_works = 42')
+    wq
+
+    exe 'split ' . plugdir . '/ftdetect/test.vim'
+    call setline(1, 'let g:ftdetect_works = 17')
+    wq
+
+    loadplugin mytest
+    call assert_true(42, g:plugin_works)
+    call assert_true(17, g:ftdetect_works)
+  finally
+    call delete(topdir, 'rf')
+  endtry
+endfunc
diff --git a/src/version.c b/src/version.c
index 0731d61..d13f47a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1479,
+/**/
     1478,
 /**/
     1477,
