diff --git a/relaxisloader.c b/relaxisloader.c
index 28ef3ed99f84ce6dbf0239602b4ebee739f0437f..38a83e429b6cabd8ec7e919dac4d57c367ab8af6 100644
--- a/relaxisloader.c
+++ b/relaxisloader.c
@@ -428,8 +428,11 @@ struct rlx_spectra** rlx_get_all_spectra(struct rlxfile* file, const struct rlx_
 		return NULL;
 
 	struct rlx_spectra **out = malloc(sizeof(*out)*(length+1));
+	size_t index = 0;
 	for(size_t i = 0; i < length; ++i) {
-		out[i] = rlx_get_spectra(file, project, i);
+		out[index] = rlx_get_spectra(file, project, i);
+		if(out[index])
+			++index;
 	}
 	out[length] = NULL;