diff --git a/es-5.c b/es-5.c
index 2908b21..e7b65f8 100644
--- a/es-5.c
+++ b/es-5.c
@@ -23,18 +23,20 @@ static void on_process(void *userdata, struct spa_io_position *position) {
   float *in, *out;
   uint32_t i, n_samples = position->clock.duration;
   float signal = 0.5f;
-
+  
   // Read Inputs 1-7
   out = pw_filter_get_dsp_buffer(data->out_port, n_samples);
   for (int input = 0; input < 7; input++) {
-    in = pw_filter_get_dsp_buffer(data->in_ports[input], n_samples); 
+    in = pw_filter_get_dsp_buffer(data->in_ports[input], n_samples);
+    if (in == NULL || out == NULL) return;
     if(*in > GATE_LOW_EDGE) {
       signal += powf(2, input);
     }
   }
 
   // Read Input 8
-  in = pw_filter_get_dsp_buffer(data->in_ports[7], n_samples); 
+  in = pw_filter_get_dsp_buffer(data->in_ports[7], n_samples);
+  if (in == NULL || out == NULL) return; 
   if(*in > GATE_LOW_EDGE) {
     signal = -ES_5_RANGE+signal;
   }