diff --git a/miosix/kernel/kernel.cpp b/miosix/kernel/kernel.cpp
index b51620d6ccf8da7e55500243fd3a1be8db3bcc00..f7adb14dcad4709689499eef6e98e3f386115cc6 100755
--- a/miosix/kernel/kernel.cpp
+++ b/miosix/kernel/kernel.cpp
@@ -299,9 +299,7 @@ void IRQremoveFromSleepingList(SleepData *x)
  */
 bool IRQwakeThreads(long long currentTime)
 {
-    //If no item in list, return
-    if(sleepingList.empty())
-        return false;
+    if(sleepingList.empty()) return false; //If no item in list, return
     
     bool result=false;
     //Since list is sorted, if we don't need to wake the first element
@@ -309,14 +307,12 @@ bool IRQwakeThreads(long long currentTime)
     for(auto it=sleepingList.begin();it!=sleepingList.end();)
     {
         if(currentTime<(*it)->wakeupTime) break;
-        else {
-            (*it)->thread->flags.IRQsetSleep(false); //Wake thread
-            //Reset cond wait flag to wakeup threads in pthread_cond_timedwait() too
-            (*it)->thread->flags.IRQsetCondWait(false);
-            if(const_cast<Thread*>(runningThread)->getPriority()<(*it)->thread->getPriority())
-                result=true;
-            it=sleepingList.erase(it);
-        }
+        (*it)->thread->flags.IRQsetSleep(false); //Wake thread
+        //Reset cond wait flag to wakeup threads in pthread_cond_timedwait() too
+        (*it)->thread->flags.IRQsetCondWait(false);
+        if(const_cast<Thread*>(runningThread)->getPriority()<(*it)->thread->getPriority())
+            result=true;
+        it=sleepingList.erase(it);
     }
     return result;
 }