diff --git a/libcorpus2/io/cclreader.cpp b/libcorpus2/io/cclreader.cpp
index eadd580e7dac8c36dd7b7bff4203f96548d90de2..4559ed8e1c3ff8258ca257540a6d612e86ab6a00 100644
--- a/libcorpus2/io/cclreader.cpp
+++ b/libcorpus2/io/cclreader.cpp
@@ -82,7 +82,7 @@ CclReader::CclReader(const Tagset& tagset, const std::string& filename, bool dis
 {
 	this->is_owned_.reset(new std::ifstream(filename.c_str(), std::ifstream::in));
 
-	if (this->is_owned_->bad()) {
+	if (!this->is_owned_->good()) {
 		throw Corpus2Error("File not found!");
 	}
 	else {
diff --git a/libcorpus2/io/fastxces.cpp b/libcorpus2/io/fastxces.cpp
index a4813bbc53ef4af326eca28ae3368ba0ded5c1b0..6eaedaf8390214e4c48856b2cc8e054ccdbfa0dc 100644
--- a/libcorpus2/io/fastxces.cpp
+++ b/libcorpus2/io/fastxces.cpp
@@ -175,7 +175,7 @@ FastXcesReader::FastXcesReader(const Tagset &tagset, const std::string &filename
 {
 	this->is_owned_.reset(new std::ifstream(filename.c_str(), std::ifstream::in));
 
-	if (this->is_owned_->bad()) {
+	if (!this->is_owned_->good()) {
 		throw Corpus2Error("File not found!");
 	}
 	else {
diff --git a/libcorpus2/io/rft.cpp b/libcorpus2/io/rft.cpp
index 73003a6b8911258a1015e095f3b8008c85738734..ead40217893a217749ec7e8b62a945c5dfdb36e6 100644
--- a/libcorpus2/io/rft.cpp
+++ b/libcorpus2/io/rft.cpp
@@ -116,7 +116,7 @@ RftReader::RftReader(const Tagset& tagset, const std::string& filename, bool dis
 	, mbt_dialect_(mbt_dialect)
 {
 	is_owned_.reset(new std::ifstream(filename.c_str(), std::ifstream::in));
-	if (this->is_owned_->bad()) {
+	if (!this->is_owned_->good()) {
 		throw Corpus2Error("File not found!");
 	}
 	else {
diff --git a/libcorpus2/io/xcesreader.cpp b/libcorpus2/io/xcesreader.cpp
index bf14d9dc0080a6bc1a0f2a691d834169a0c7a9d1..6db3428d55e407ed64e14112240e747ec180059a 100644
--- a/libcorpus2/io/xcesreader.cpp
+++ b/libcorpus2/io/xcesreader.cpp
@@ -52,8 +52,7 @@ XcesReader::XcesReader(const Tagset& tagset, const std::string& filename, bool d
 	impl_(new XcesReaderImpl(*this, chunk_buf_, disamb_only, disamb_sh))
 {
 	this->is_owned_.reset(new std::ifstream(filename.c_str(), std::ifstream::in));
-
-	if (this->is_owned_->bad()) {
+	if (!this->is_owned_->good()) {
 		throw Corpus2Error("File not found!");
 	}
 	else {