diff --git a/src/array.c b/src/array.c
index 5d3fa80adfeca6a21d30ab185137c704b3e28eb6..cd6973e35f21f3cf6a12044525288482eb211e8e 100644
--- a/src/array.c
+++ b/src/array.c
@@ -1057,10 +1057,10 @@ struct array *subtract_arrays(struct array *a, struct array *b)
 #ifdef DEBUG
   if(d_flag > 1)
   {
-    array_check_type_field(a);
     array_check_type_field(b);
   }
 #endif
+  check_array_for_destruct(a);
 
   if(a->type_field & b->type_field)
   {
@@ -1081,10 +1081,10 @@ struct array *and_arrays(struct array *a, struct array *b)
 #ifdef DEBUG
   if(d_flag > 1)
   {
-    array_check_type_field(a);
     array_check_type_field(b);
   }
 #endif
+  check_array_for_destruct(a);
 
   if(a->type_field & b->type_field)
   {