diff --git a/src/filters/Select.js b/src/filters/Select.js
index <HASH>..<HASH> 100644
--- a/src/filters/Select.js
+++ b/src/filters/Select.js
@@ -21,10 +21,21 @@ class SelectFilter extends Component {
   }
 
   componentDidUpdate(prevProps) {
+    function optionsEquals(options1, options2) {
+      const keys = Object.keys(options1);
+      for(let k in keys) {
+        if(options1[k] !== options2[k]) {
+          return false;
+        }
+      }
+      
+      return Object.keys(options1).length === Object.keys(options2).length
+    }
+    
     let needFilter = false;
     if (this.props.defaultValue !== prevProps.defaultValue) {
       needFilter = true;
-    } else if (this.props.options !== prevProps.options) {
+    } else if (!optionsEquals(this.props.options, prevProps.options)) {
       needFilter = true;
     }
     if (needFilter) {
Fix callback condition in Select filter

The filter changed callback will be called less often, and in particular it will not be called when the options object has changed but has the same entries. This should fix issue #<I>