diff --git a/unix/unix_mphal.c b/unix/unix_mphal.c
index 4ea682f0c8ad871c925638e97c2ec3dcc2b0775c..523e34dd8d90b3ceb6260cc502d445dad0de1b11 100644
--- a/unix/unix_mphal.c
+++ b/unix/unix_mphal.c
@@ -53,6 +53,7 @@ void mp_hal_set_interrupt_char(char c) {
         #ifndef _WIN32
         // enable signal handler
         struct sigaction sa;
+        memset(&sa, 0, sizeof(sa));
         sa.sa_handler = sighandler;
         sigemptyset(&sa.sa_mask);
         sigaction(SIGINT, &sa, NULL);