diff --git a/whisper/whisperv6/filter.go b/whisper/whisperv6/filter.go
index d7b71795de63f7b0aa48cfa53475cfc4f89b21ba..e4171f85c9d077aef25f4058d4f848135040e2a7 100644
--- a/whisper/whisperv6/filter.go
+++ b/whisper/whisperv6/filter.go
@@ -43,9 +43,10 @@ type Filter struct {
 
 // Filters represents a collection of filters
 type Filters struct {
-	watchers         map[string]*Filter
-	topicMatcher     map[TopicType]map[*Filter]struct{}
-	allTopicsMatcher map[*Filter]struct{}
+	watchers map[string]*Filter
+
+	topicMatcher     map[TopicType]map[*Filter]struct{} // map a topic to the filters that are interested in being notified when a message matches that topic
+	allTopicsMatcher map[*Filter]struct{}               // list all the filters that will be notified of a new message, no matter what its topic is
 
 	whisper *Whisper
 	mutex   sync.RWMutex
@@ -106,7 +107,9 @@ func (fs *Filters) Uninstall(id string) bool {
 	return false
 }
 
-// addTopicMatcher adds a filter to the topic matchers
+// addTopicMatcher adds a filter to the topic matchers.
+// If the filter's Topics array is empty, it will be tried on every topic.
+// Otherwise, it will be tried on the topics specified.
 func (fs *Filters) addTopicMatcher(watcher *Filter) {
 	if len(watcher.Topics) == 0 {
 		fs.allTopicsMatcher[watcher] = struct{}{}
@@ -133,10 +136,10 @@ func (fs *Filters) removeFromTopicMatchers(watcher *Filter) {
 // match a specific topic
 func (fs *Filters) getWatchersByTopic(topic TopicType) []*Filter {
 	res := make([]*Filter, 0, len(fs.allTopicsMatcher))
-	for watcher, _ := range fs.allTopicsMatcher {
+	for watcher := range fs.allTopicsMatcher {
 		res = append(res, watcher)
 	}
-	for watcher, _ := range fs.topicMatcher[topic] {
+	for watcher := range fs.topicMatcher[topic] {
 		res = append(res, watcher)
 	}
 	return res
diff --git a/whisper/whisperv6/filter_test.go b/whisper/whisperv6/filter_test.go
index 491e137bdbc3965e5bd3993c05afd0517f51950d..0bb7986c390b70f3b7ba4424c59dfd75583d8689 100644
--- a/whisper/whisperv6/filter_test.go
+++ b/whisper/whisperv6/filter_test.go
@@ -313,16 +313,6 @@ func TestMatchEnvelope(t *testing.T) {
 	if err != nil {
 		t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
 	}
-	match := fsym.MatchEnvelope(env)
-	if !match {
-		// topic mismatch should have no affect, as topics are handled by topic matchers
-		t.Fatalf("failed MatchEnvelope symmetric with seed %d.", seed)
-	}
-	match = fasym.MatchEnvelope(env)
-	if !match {
-		// topic mismatch should have no affect, as topics are handled by topic matchers
-		t.Fatalf("failed MatchEnvelope asymmetric with seed %d.", seed)
-	}
 
 	// encrypt symmetrically
 	i := mrand.Int() % 4
@@ -338,7 +328,7 @@ func TestMatchEnvelope(t *testing.T) {
 	}
 
 	// symmetric + matching topic: match
-	match = fsym.MatchEnvelope(env)
+	match := fsym.MatchEnvelope(env)
 	if !match {
 		t.Fatalf("failed MatchEnvelope() symmetric with seed %d.", seed)
 	}