diff --git a/runtime/indent/php.vim b/runtime/indent/php.vim
index 208df3a..cda861e 100644
--- a/runtime/indent/php.vim
+++ b/runtime/indent/php.vim
@@ -3,7 +3,7 @@
 " Author:	Miles Lott <milos@groupwhere.org>
 " URL:		http://milosch.dyndns.org/php.vim
 " Last Change:	2004 May 18
-" Version:	0.5
+" Version:	0.4
 " Notes:  Close all switches with default:\nbreak; and it will look better.
 "         Also, open and close brackets should be alone on a line.
 "         This is my preference, and the only way this will look nice.
@@ -11,9 +11,7 @@
 "         switch/case.  It is nearly perfect for anyone regardless of your
 "         stance on brackets.
 "
-" Changes: 0.5 - fix duplicate indent on open tag, and empty bracketed
-"          statements.
-"          0.4 - Fixes for closing php tag, switch statement closure, and php_indent_shortopentags
+" Changes: Fixes for closing php tag, switch statement closure, and php_indent_shortopentags
 "          option from Steffen Bruentjen <vim@kontraphon.de>
 "
 " Options: php_noindent_switch=1 -- do not try to indent switch/case statements (version 0.1 behavior)
@@ -51,16 +49,16 @@
 	let pline = getline(lnum - 1) " previous to last line
 	let ind = indent(lnum)
 
-	" Indent after php open tag
+	" Indent after php open tags
 	if line =~ '<?php'
 		let ind = ind + &sw
-	elseif exists('g:php_indent_shortopentags')
-		" indent after short open tag
+		" indent after short open tags
+	endif
+	if exists('g:php_indent_shortopentags')
 		if line =~ '<?'
 			let ind = ind + &sw
 		endif
 	endif
-	" indent after php closing tag
 	if cline =~ '\M?>'
 		let ind = ind - &sw
 	endif
@@ -74,17 +72,7 @@
 			let ind = ind - &sw
 		endif
 		return ind
-	else
-		" Search the matching bracket (with searchpair()) and set the indent of
-		" to the indent of the matching line.
-		if cline =~ '^\s*}'
-			call cursor(line('.'), 1)
-			let ind = indent(searchpair('{', '', '}',
-			'bW', 'synIDattr(synID(line("."), col("."),
-			0), "name") =~? "string"'))
-			return ind
-		endif
-		" Try to indent switch/case statements as well
+	else " Try to indent switch/case statements as well
 		" Indent blocks enclosed by {} or () or case statements, with some anal requirements
 		if line =~ 'case.*:\|[{(]\s*\(#[^)}]*\)\=$'
 			let ind = ind + &sw
@@ -104,7 +92,7 @@
 		" Search the matching bracket (with searchpair()) and set the indent of cline
 		" to the indent of the matching line.
 		if cline =~ '^\s*}'
-			call cursor(line('. '), 1)
+			call cursor(line('.'), 1)
 			let ind = indent(searchpair('{', '', '}', 'bW', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"'))
 			return ind
 		endif
