--- C:/Users/Harry/AppData/Local/Temp/Block.php-rev90873.svn000.tmp.php	Sun Jul 10 20:34:51 2011
+++ C:/xampp/htdocs/w/includes/Block.php	Sun Jul 10 20:39:34 2011
@@ -1000,7 +1000,8 @@
 
 		} elseif( $target === null && $vagueTarget == '' ){
 			# We're not going to find anything useful here
-			# Be aware that the == '' check is explicit, since empty values will be passed by some callers.
+			# Be aware that the == '' check is explicit, since empty values will be
+			# passed by some callers (bug 29116)
 			return null;
 
 		} elseif( in_array( $type, array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) ) ) {
@@ -1042,7 +1043,15 @@
 		} elseif( $target === null ){
 			return array( null, null );
 		}
-
+		
+		# Consider the possibility that this is not a username at all
+		# but actually an old subpage (bug #29797)
+		if( strpos( $target, '/' ) !== false ){
+			# An old subpage, drill down to the user behind it
+			$parts = explode( '/', $target );
+			$target = $parts[0];
+		}
+		
 		$userObj = User::newFromName( $target );
 		if ( $userObj instanceof User ) {
 			# Note that since numbers are valid usernames, a $target of "12345" will be
