diff --git a/includes/behaviors/js/openlayers_behavior_geofield.js b/includes/behaviors/js/openlayers_behavior_geofield.js
index 9c053eb..934c12c 100644
--- a/includes/behaviors/js/openlayers_behavior_geofield.js
+++ b/includes/behaviors/js/openlayers_behavior_geofield.js
@@ -30,17 +30,43 @@ OpenLayers.Control.GeofieldEditingToolbar = OpenLayers.Class(
 
         if (options.allow_edit && options.allow_edit !== 0) {
           // add an Edit feature
-          controls.push(new OpenLayers.Control.ModifyFeature(layer, {
+          var deleteControl = new OpenLayers.Control.ModifyFeature(layer, {
             deleteCodes: [46, 68, 100],
             handleKeypress: function(evt) {
               if (this.feature && OpenLayers.Util.indexOf(this.deleteCodes, evt.keyCode) > -1) {
                 // We must unselect the feature before we delete it
                 var feature_to_delete = this.feature;
-                this.selectControl.unselectAll();
+                //this.selectControl.unselectAll();
                 this.layer.removeFeatures([feature_to_delete]);
               }
             }
-          }));
+          });
+          
+          controls.push(deleteControl);
+
+          var map = layer.map;
+          var layers = [];
+          var selectedFeature;
+
+          layers = map.getLayersByClass('OpenLayers.Layer.Vector');
+
+          // if only 1 layer exists, do not add as an array.  Kind of a
+          // hack, see https://drupal.org/node/1393460
+          if (layers.length == 1) {
+            layers = layers[0];
+          }
+          
+          var deleteSelect = new OpenLayers.Control.SelectFeature(layers, {
+            onSelect: function(feature) {
+              deleteControl.feature = feature;
+            },
+            onUnselect: function(feature) {
+              deleteControl.feature = undefined;
+            }
+          });
+
+          map.addControl(deleteSelect);
+          deleteSelect.activate();
         } else {
           controls = [new OpenLayers.Control.Navigation()];
         }
