diff --git a/src/aas/AASFile.cpp b/src/aas/AASFile.cpp
--- a/src/aas/AASFile.cpp
+++ b/src/aas/AASFile.cpp
@@ -955,14 +955,11 @@ bool idAASFileLocal::ParseReachabilities( idLexer &src, int areaNum ) {
 	for ( j = 0; j < num; j++ ) {
 		memset( &reach, 0, sizeof( reach ) );
 		Reachability_Read( src, &reach );
-		switch( reach.travelType ) {
-			case TFL_SPECIAL:
-				newReach = special = new idReachability_Special();
-				Reachability_Special_Read( src, special );
-				break;
-			default:
-				newReach = new idReachability();
-				break;
+		if ( reach.travelType & TFL_SPECIAL ) {
+			newReach = special = new idReachability_Special();
+			Reachability_Special_Read( src, special );
+		} else {
+			newReach = new idReachability();
 		}
 		newReach->CopyBase( reach );
 		newReach->fromAreaNum = areaNum;
