diff --git a/platforms/posix/src/lockstep_scheduler/src/lockstep_scheduler.cpp b/platforms/posix/src/lockstep_scheduler/src/lockstep_scheduler.cpp
index 4c2b4d35d32d5976841df5b50f63a0bc773e8488..c12f49799cedb66257685a77feb1955beff2abf1 100644
--- a/platforms/posix/src/lockstep_scheduler/src/lockstep_scheduler.cpp
+++ b/platforms/posix/src/lockstep_scheduler/src/lockstep_scheduler.cpp
@@ -87,10 +87,8 @@ int LockstepScheduler::cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *loc
 
 int LockstepScheduler::usleep_until(uint64_t time_us)
 {
-	pthread_mutex_t lock;
-	pthread_mutex_init(&lock, nullptr);
-	pthread_cond_t cond;
-	pthread_cond_init(&cond, nullptr);
+	pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+	pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
 
 	pthread_mutex_lock(&lock);
 
@@ -103,8 +101,5 @@ int LockstepScheduler::usleep_until(uint64_t time_us)
 
 	pthread_mutex_unlock(&lock);
 
-	pthread_cond_destroy(&cond);
-	pthread_mutex_destroy(&lock);
-
 	return result;
 }