diff --git a/examples/core_benchmark.c b/examples/core_benchmark.c
index 87bdd4927acd11b4df1cee11610a827ab712bd76..57ec88575ca69c2a60a44e0cdfa955ecc1aac53d 100644
--- a/examples/core_benchmark.c
+++ b/examples/core_benchmark.c
@@ -378,10 +378,11 @@ int main(int argc, char *argv[]) {
       status = mstro_finalize();
 
       /* free allocated data*/
-      for(int i = 0; i < num_CDOs; i++){
-          free(CDO_data[i]);
+      if (size_CDO != 0) {
+	      for(int i = 0; i < num_CDOs; i++){
+		      free(CDO_data[i]);
+	      }
       }
-
       assert(status == MSTRO_OK);
     }