diff --git a/GreenshotPlugin/Controls/HotkeyControl.cs b/GreenshotPlugin/Controls/HotkeyControl.cs
index 0e40a9cbc..af12f6d93 100644
--- a/GreenshotPlugin/Controls/HotkeyControl.cs
+++ b/GreenshotPlugin/Controls/HotkeyControl.cs
@@ -512,18 +512,21 @@ namespace GreenshotPlugin.Controls {
///
/// true if the message was handled
public static bool HandleMessages(ref Message m) {
- if (m.Msg == WM_HOTKEY) {
- // Call handler
- if (IsWindows7OrOlder) {
- KeyHandlers[(int)m.WParam]();
- } else {
- if (EventDelay.Check()) {
- KeyHandlers[(int)m.WParam]();
- }
- }
+ if (m.Msg != WM_HOTKEY)
+ {
+ return false;
+ }
+ // Call handler
+ if (!IsWindows7OrOlder && !EventDelay.Check())
+ {
return true;
}
- return false;
+ HotKeyHandler handler;
+ if (KeyHandlers.TryGetValue((int)m.WParam, out handler))
+ {
+ handler();
+ }
+ return true;
}
public static string GetKeyName(Keys givenKey) {