Index: SapphireBrowser.m
===================================================================
--- SapphireBrowser.m	(revision 534)
+++ SapphireBrowser.m	(working copy)
@@ -421,13 +421,21 @@
 		return;
 	}
 	
-	NSString *name = [_names objectAtIndex:row];
+	NSMutableString *name = [NSMutableString stringWithString:[_names objectAtIndex:row]];
 	
 	/*Check for dir*/
 	if(row < dirCount)
 	{
-		/*Browse the subdir*/
-		id controller = [[SapphireBrowser alloc] initWithScene:[self scene] metaData:[metaData metaDataForDirectory:name]];
+		/*Browse the subdir, but skip over virtual directories with a single entry iPod sty-lee*/
+		SapphireDirectoryMetaData *subdirMeta = [metaData metaDataForDirectory:name];
+		while( [[subdirMeta directories] count] == 1 )
+		{
+			NSString *subdirName = [[[subdirMeta directories] lastObject] retain];
+			subdirMeta = [subdirMeta metaDataForDirectory:subdirName];
+			[name appendFormat:@", %@", subdirName];
+		}
+
+		id controller = [[SapphireBrowser alloc] initWithScene:[self scene] metaData:subdirMeta];
 		[controller setListTitle:[NSString stringWithFormat:@" %@",name]];
 		[controller setListIcon:[self listIcon]];
 		[[self stack] pushController:controller];
