diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 223911b..aabf321 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -313,8 +313,8 @@
                 success: function(data) {
                     var $spans = $('.search_bin > span');
                     $.each(data.bin_counts, function(i, item) {
-                        $spans.each(function(){
-                            if ($(this).text() == item.label) {
+                        $spans.each(function() {
+                            if ($(this).text() === item.label) {
                                 $(this).after('<small>' + item.count + '</small>').fadeIn('fast');
                             }
                         });
@@ -327,8 +327,8 @@
                     success: function(data) {
                         var $spans = $('.milestones > span');
                         $.each(data.milestone_counts, function(i, item) {
-                            $spans.each(function(){
-                                if ($(this)) {
+                            $spans.each(function() {
+                                if ($(this).text() === item.name) {
                                     $(this).after('<small>' + item.count + '</small>').fadeIn('fast');
                                 }
                             });
