Index: includes/parser/Parser.php =================================================================== --- includes/parser/Parser.php (revision 51213) +++ includes/parser/Parser.php (working copy) @@ -3477,23 +3477,19 @@ elseif ( $level < $prevlevel && $toclevel > 1 ) { # Decrease TOC level, find level to jump to - if ( $toclevel == 2 && $level <= $levelCount[1] ) { - # Can only go down to level 1 - $toclevel = 1; - } else { - for ($i = $toclevel; $i > 0; $i--) { - if ( $levelCount[$i] == $level ) { - # Found last matching level - $toclevel = $i; - break; - } - elseif ( $levelCount[$i] < $level ) { - # Found first matching level below current level - $toclevel = $i + 1; - break; - } + for ($i = $toclevel; $i > 0; $i--) { + if ( $levelCount[$i] == $level ) { + # Found last matching level + $toclevel = $i; + break; } + elseif ( $levelCount[$i] < $level ) { + # Found first matching level below current level + $toclevel = $i + 1; + break; + } } + if( $i == 0 ) $toclevel = 1; if( $toclevel<$wgMaxTocLevel ) { if($prevtoclevel < $wgMaxTocLevel) { # Unindent only if the previous toc level was shown :p