diff --git a/video/FormPlayer.cs b/video/FormPlayer.cs
index 05121e06..20711823 100644
--- a/video/FormPlayer.cs
+++ b/video/FormPlayer.cs
@@ -75,15 +75,17 @@ private void FormPlayer_Load(object sender, EventArgs e){
         }
 
         private void pipe_DataIn(object sender, DuplexPipe.PipeReadEventArgs e){
-            switch(e.Key){
-                case "key":
-                    HandleKey((Keys)int.Parse(e.Data, NumberStyles.Integer));
-                    break;
+            Invoke(new Action(() => {
+                switch(e.Key){
+                    case "key":
+                        HandleKey((Keys)int.Parse(e.Data, NumberStyles.Integer));
+                        break;
 
-                case "die":
-                    StopVideo();
-                    break;
-            }
+                    case "die":
+                        StopVideo();
+                        break;
+                }
+            }));
         }
 
         private void player_PlayStateChange(int newState){