diff --git a/wcclrules/main.cpp b/wcclrules/main.cpp
index 40936af13b68f04d2ef9736d706bd5e90c5d9482..7b83fe05be6309d736c27232ddfb048588d35847 100644
--- a/wcclrules/main.cpp
+++ b/wcclrules/main.cpp
@@ -163,12 +163,14 @@ int main(int argc, char** argv)
 	foreach (const std::string& f, files) {
 		if (boost::algorithm::ends_with(f, ".xml")) {
 			corpora_files.push_back(f);
-			corpus_stdin = false;
 		} else {
 			ccl_files.push_back(f);
 		}
 	}
 
+    // consider stdin only when no corpus files given
+    corpus_stdin = corpus_stdin && corpora_files.empty();
+
 	try {
 		const Corpus2::Tagset& tagset = Corpus2::get_named_tagset(tagset_load);
 		Wccl::Parser parser(tagset);