diff --git a/Source/Processors/Editors/SpikeDetectorEditor.cpp b/Source/Processors/Editors/SpikeDetectorEditor.cpp
index b76f14bc760f1e5e05aa6dc5264e81a32a6633d6..56f73e1125d3de7d5a1a9d4431a602f8acc68aa0 100755
--- a/Source/Processors/Editors/SpikeDetectorEditor.cpp
+++ b/Source/Processors/Editors/SpikeDetectorEditor.cpp
@@ -275,10 +275,18 @@ void SpikeDetectorEditor::buttonEvent(Button* button)
         }
 
 
-        if (!button->getToggleState()) {
-          thresholdSlider->setActive(false);
-          electrodeButtons.clear();
-          drawElectrodeButtons(electrodeList->getSelectedItemIndex());
+        if (!button->getToggleState())
+        {
+            thresholdSlider->setActive(false);
+
+            // This will be -1 with nothing selected
+            int selectedItemIndex = electrodeList->getSelectedItemIndex();
+            if (selectedItemIndex != -1)
+            {
+                drawElectrodeButtons(selectedItemIndex);
+            } else {
+                electrodeButtons.clear();
+            }
         }
 
       //   channelSelector->setActiveChannels(activeChannels);