diff --git a/pd/src/d_array.c b/pd/src/d_array.c
index 838a2ecb2dd7c9ffb4a4012cccac5efd75e9922b..175704b1d063d15bf97cb1fa1b4d9a1acfef7903 100644
--- a/pd/src/d_array.c
+++ b/pd/src/d_array.c
@@ -298,6 +298,7 @@ static t_int *tabread_tilde_perform(t_int *w)
     int i;
     
     maxindex = x->x_npoints - 1;
+    if (maxindex < 0) goto zero;
     if (!buf) goto zero;
 
     for (i = 0; i < n; i++)
@@ -398,6 +399,7 @@ static t_int *tabread4_tilde_perform(t_int *w)
     int i;
     
     maxindex = x->x_npoints - 3;
+    if (maxindex < 0) goto zero;
 
     if (!buf) goto zero;