diff --git a/wccl-apps/wccl-rules.cpp b/wccl-apps/wccl-rules.cpp
index 4d434044a47c9d87f2eba8ec8471e6b0f55e8396..e7e18c94ca5f87d7800dbef8be2dfe6d29b32526 100644
--- a/wccl-apps/wccl-rules.cpp
+++ b/wccl-apps/wccl-rules.cpp
@@ -92,10 +92,15 @@ std::pair<int,int> RuleRunner::load_more_rules(const std::string& filename)
 		if (parsed_file) {
 			boost::filesystem::path p(filename);
 			file_names_.push_back(p.stem());
-			size_t match_rules = parsed_file->get_match_rules().size();
-			size_t tag_rules = parsed_file->get_tag_rules().size();
-			total_match_rules_ += match_rules;
+			size_t match_rules = 0, tag_rules = 0;
+			if (parsed_file->has_tag_rules()) {
+				tag_rules = parsed_file->get_tag_rules().size();
+			}
+			if (parsed_file->has_match_rules()) {
+				match_rules = parsed_file->get_match_rules().size();
+			}
 			total_tag_rules_ += tag_rules;
+			total_match_rules_ += match_rules;
 			parsed_files_.push_back(parsed_file);
 			return std::make_pair(tag_rules, match_rules);
 		} else {