diff --git a/plugin/magit.vim b/plugin/magit.vim
index bfac4e980d2d3494a43b6765c0384d0ad5e40b93..f4938ac67213dd735bdaf84a93e2e4834ed98b4c 100644
--- a/plugin/magit.vim
+++ b/plugin/magit.vim
@@ -47,7 +47,7 @@ let g:magit_enabled                = get(g:, 'magit_enabled',
 let g:magit_show_help              = get(g:, 'magit_show_help',                 0)
 let g:magit_default_show_all_files = get(g:, 'magit_default_show_all_files',    1)
 let g:magit_default_fold_level     = get(g:, 'magit_default_fold_level',        1)
-let g:magit_default_sections       = get(g:, 'magit_default_sections',          ['info', 'global_help', 'commit', 'staged', 'unstaged'])
+let g:magit_default_sections       = get(g:, 'magit_default_sections',          ['info', 'global_help', 'commit', 'staged', 'unstaged', 'stash'])
 let g:magit_discard_untracked_do_delete = get(g:, 'magit_discard_untracked_do_delete',        0)
 
 let g:magit_refresh_gitgutter      = get(g:, 'magit_refresh_gitgutter',         1)
@@ -243,7 +243,8 @@ function! s:mg_get_stashes()
 		for stash in stash_list
 			let stash_id=substitute(stash, '^\(stash@{\d\+}\):.*$', '\1', '')
 			silent put =stash
-			silent! execute "read !git stash show -p " . stash_id
+			silent execute "read !git stash show -p " . stash_id
+			silent put =''
 		endfor
 	endif
 endfunction
diff --git a/syntax/magit.vim b/syntax/magit.vim
index 904d8d373938c7d4f252750028d2151d80eaa34c..f9c8f1027593282b01d1f7710472a7d39d946d5e 100644
--- a/syntax/magit.vim
+++ b/syntax/magit.vim
@@ -21,7 +21,7 @@ hi def link fileEntry String
 execute 'syn region gitTitle start=/^$\n' . g:magit_section_re . '/ end=/^$/ contains=titleEntry'
 
 execute 'syn region gitStash start=/' . g:magit_stash_re . '/ end=/\%(' .
- \ g:magit_stash_re . '\)\@=/ contains=stashEntry fold'
+ \ g:magit_end_diff_re . '\|' . g:magit_stash_re . '\)\@=/ contains=gitHunk,stashEntry,@diff fold'
 
 execute 'syn region gitFile start=/' . g:magit_file_re . '/ end=/\%(' .
 			\ g:magit_end_diff_re . '\)\@=/ contains=gitHunk,fileEntry fold'