diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp
index da5eb2b..2e1416b 100644
--- a/engines/cge/detection.cpp
+++ b/engines/cge/detection.cpp
@@ -160,6 +160,7 @@ const ADGameDescription *CGEMetaEngine::fallbackDetect(const FileMap &allFiles,
 		return nullptr;
 
 	SearchMan.clear();
+	debug("fslist->begin->parent path: %s", fslist.begin()->getParent().getPath().c_str());
 	SearchMan.addDirectory(fslist.begin()->getParent().getPath(), fslist.begin()->getParent());
 	ResourceManager *resman;
 	resman = new ResourceManager();
diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp
index df5c31d..6e2f248 100644
--- a/engines/cge/fileio.cpp
+++ b/engines/cge/fileio.cpp
@@ -67,9 +67,13 @@ ResourceManager::ResourceManager() {
 	_datFile = new Common::File();
 	_datFile->open(kDatName);
 
+	debug("dat ok? %d", _datFile ? 1 : 0);
+
 	_catFile = new Common::File();
 	_catFile->open(kCatName);
 
+	debug("cat ok? %d", _datFile ? 1 : 0);
+
 	if (!_datFile->isOpen() || !_catFile->isOpen())
 		error("Unable to open data files");
 
@@ -109,7 +113,7 @@ uint16 ResourceManager::read(byte *buf, uint16 length) {
 		return 0;
 
 	uint16 bytesRead = _datFile->read(buf, length);
-	if (!bytesRead)
+	if (bytesRead != length)
 		error("Read %s - %d bytes", _datFile->getName(), length);
 	XCrypt(buf, length);
 	return bytesRead;
@@ -193,7 +197,7 @@ uint16 ResourceManager::catRead(byte *buf, uint16 length) {
 		return 0;
 
 	uint16 bytesRead = _catFile->read(buf, length);
-	if (!bytesRead)
+	if (bytesRead != length)
 		error("Read %s - %d bytes", _catFile->getName(), length);
 	XCrypt(buf, length);
 	return bytesRead;
