diff --git a/core/Runtime.cc b/core/Runtime.cc
index fd4423e6a8b00ff206f17c0385f5a0d8fd89e53e..164bc858a02f08c2f70c8468e7684e0c0d91968a 100644
--- a/core/Runtime.cc
+++ b/core/Runtime.cc
@@ -2895,7 +2895,12 @@ void TTCN_Runtime::wait_terminated_processes()
   errno = 0;
   for ( ; ; ) {
     int statuscode;
+#ifdef __clang__
     struct rusage r_usage = {{0,0},{0,0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}};
+#else
+    struct rusage r_usage = {{0,0},{0,0},0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+#endif
+
 #ifdef INTERIX
     pid_t child_pid = waitpid(-1, &statuscode, WNOHANG);
     getrusage(RUSAGE_CHILDREN, &r_usage);