Index: wp-admin/includes/ms.php
===================================================================
--- wp-admin/includes/ms.php	(revision 19490)
+++ wp-admin/includes/ms.php	(working copy)
@@ -91,7 +91,7 @@
 
 		$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id ) );
 		$dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id );
-		$dir = rtrim( $dir, DIRECTORY_SEPARATOR );
+		$dir = untrailingslashit( $dir );
 		$top_dir = $dir;
 		$stack = array($dir);
 		$index = 0;
@@ -112,13 +112,14 @@
 						@unlink( $dir . DIRECTORY_SEPARATOR . $file );
 				}
 			}
+			closedir($dh);
 			$index++;
 		}
 
 		$stack = array_reverse( $stack );  // Last added dirs are deepest
 		foreach( (array) $stack as $dir ) {
 			if ( $dir != $top_dir)
-			@rmdir( $dir );
+				rmdir( $dir );
 		}
 	}
 
