diff --git a/lib/types/array.c b/lib/types/array.c
index ed4c91f7e357bd81bfb8153c090c315f456940a0..59b3bbc6ebb366b627a3b83171acaeafe6be85f2 100644
--- a/lib/types/array.c
+++ b/lib/types/array.c
@@ -69,7 +69,7 @@ index_in_array (const Array *array,
 static void
 maybe_shrink (Array *array)
 {
-    if (array->length <= (size_t) ceil (array->capacity * 0.3))
+    if (array->length <= (size_t) ceil (array->capacity / 2))
         resize_array (array, array->length);
 }