--- a/libpp/profile_container.cpp
+++ b/libpp/profile_container.cpp
@@ -25,6 +25,7 @@
 #include "sample_container.h"
 #include "symbol_container.h"
 #include "populate_for_spu.h"
+#include "cverb.h"
 
 using namespace std;
 
@@ -76,6 +77,7 @@
 {
 	string const image_name = abfd.get_filename();
 	opd_header header = profile.get_header();
+	count_type sym_count_total = 0;
 
 	for (symbol_index_t i = 0; i < abfd.syms.size(); ++i) {
 
@@ -92,6 +94,7 @@
 		if (count == 0)
 			continue;
 
+		sym_count_total += count;
 		symb_entry.sample.counts[pclass] = count;
 		total_count[pclass] += count;
 
@@ -128,6 +131,19 @@
 		if (need_details)
 			add_samples(abfd, i, p_it, symbol, pclass, start);
 	}
+
+	if (cverb << vdebug) {
+		profile_t::iterator_pair summary_it =
+			profile.samples_range(profile.get_offset(), ~0ULL);
+		count_type module_summary_count = accumulate(summary_it.first, summary_it.second, 0ull);
+		if (sym_count_total < module_summary_count)
+			cerr << "INFO: Sample counts differ:  Module summary count: " << dec
+			     << module_summary_count << "; total symbols count: " << sym_count_total
+			     << endl << "\timage name: " << image_name << endl;
+		else
+			cerr << "Warning: Number of samples for module unexpectedly less than total "
+			     "symbols count!"  << endl << "\timage name: " << image_name << endl;
+	}
 }