If the file has no resource fork first check to see whether it's a
datafork-based resource file before trying to decode it as AppleSingle.
diff --git a/Mac/Lib/macresource.py b/Mac/Lib/macresource.py
index 4bd40bc..4eaf076 100644
--- a/Mac/Lib/macresource.py
+++ b/Mac/Lib/macresource.py
@@ -77,13 +77,20 @@
 		refno = Res.FSpOpenResFile(pathname, 1)
 	except Res.Error, arg:
 		if arg[0] in (-37, -39):
-			# No resource fork. We may be on OSX, try to decode
-			# the applesingle file.
-			pathname = _decode(pathname)
-			if pathname:
+			# No resource fork. We may be on OSX, and this may be either
+			# a data-fork based resource file or a AppleSingle file
+			# from the CVS repository.
+			try:
 				refno = Res.FSOpenResourceFile(pathname, u'', 1)
+			except Res.Error, arg:
+				if arg[0] != -199:
+					# -199 is "bad resource map"
+					raise
 			else:
-				raise
+				return refno
+			# Finally try decoding an AppleSingle file
+			pathname = _decode(pathname)
+			refno = Res.FSOpenResourceFile(pathname, u'', 1)
 	return refno
 	
 def _decode(pathname):