diff --git a/geomagio/algorithm/FilterAlgorithm.py b/geomagio/algorithm/FilterAlgorithm.py
index 552f7be584ed45980b61076d7834fad669addff1..fc9a6adc380140e433e2f50abf859c8feca70f09 100644
--- a/geomagio/algorithm/FilterAlgorithm.py
+++ b/geomagio/algorithm/FilterAlgorithm.py
@@ -138,11 +138,8 @@ class FilterAlgorithm(Algorithm):
         # sums of the total 'weights' of the filter corresponding to 
         # valid samples
         as_weight_sums =  np.dot(window, (~as_masked.mask).T)
-        # sums of total number of invalid entries for each application
-        # of the filter
-        as_invalid_sums = np.sum(as_masked.mask)
-        # mark the output locations as 'bad' that don't have the minimum
-        # number of samples
+        # mark the output locations as 'bad' that have missing input weights
+        # that sum to greater than 
         as_invalid_masked = np.ma.masked_greater(as_weight_sums, allowed_bad)
 
         # apply filter, using masked version of dot (in 3.5 and above, there
diff --git a/test/algorithm_test/FilterAlgorithm_test.py b/test/algorithm_test/FilterAlgorithm_test.py
index 4b06d8d339e6552b56ca373ec5e2de6585b81a79..8a127fe1c3e2a197adcd8f8c0e7f859a565940c9 100644
--- a/test/algorithm_test/FilterAlgorithm_test.py
+++ b/test/algorithm_test/FilterAlgorithm_test.py
@@ -18,11 +18,11 @@ def test_process():
     factory = i2.IAGA2002Factory()
     min = factory.parse_string(min_iaga2002_string)
     sec = factory.parse_string(sec_iaga2002_string)
-    a = filt()
 
     # process hezf (raw) channels with loaded transform
-    filt_bou = a.process(sec, inchannels=('SVH','SVE','SVZ','SSF'), 
+    a = filt(inchannels=('SVH','SVE','SVZ','SSF'), 
                          outchannels=('MVH','MVE','MVZ','MSF'))
+    filt_bou = a.process(sec)
 
     # unpack channels from loaded adjusted data file
     u = min.select(channel='MVH')[0]