diff --git a/src/base/model.js b/src/base/model.js
index <HASH>..<HASH> 100644
--- a/src/base/model.js
+++ b/src/base/model.js
@@ -974,18 +974,18 @@ define([
                     }
                     break;
                 default:
-                    if (this.getHook("data")) {
                         // search the data point among existing points
-                        existingValue = _.findWhere(this._items, filter);
+                        // TODO: existingValue = this._items_hash[filter];
 
-                        if (existingValue == null) {
-                            // if not found then interpolate
-                            value = this._interpolateValue(this._items, filter, this.hook);
-                        } else {
-                            // otherwise supply the existing value
-                            value = existingValue[this.value];
-                        }
-                    }
+                        // if (existingValue == null) {
+                        //     // if not found then interpolate
+                        //     value = this._interpolateValue(this._items, filter, this.hook);
+                        // } else {
+                        //     // otherwise supply the existing value
+                        //     value = existingValue[this.value];
+                        // }
+
+                        value = this._interpolateValue(this._items, filter, this.hook);
                     break;
             }
             return value;
Remove findWhere from getHookedData
we previously thought it was an optimization, but it was actually ruining the performance