diff --git a/apps/codec_thread.c b/apps/codec_thread.c
index a7bff74..945f0b0 100644
--- a/apps/codec_thread.c
+++ b/apps/codec_thread.c
@@ -636,12 +636,6 @@
     thread_thaw(codec_thread_id);
 }
 
-/* Is the current thread the codec thread? */
-bool is_codec_thread(void)
-{
-    return thread_self() == codec_thread_id;
-}
-
 #ifdef HAVE_PRIORITY_SCHEDULING
 /* Obtain codec thread's current priority */
 int codec_thread_get_priority(void)
diff --git a/apps/codec_thread.h b/apps/codec_thread.h
index acd7e55..14551dc 100644
--- a/apps/codec_thread.h
+++ b/apps/codec_thread.h
@@ -36,7 +36,6 @@
 void codec_init_codec_api(void);
 void make_codec_thread(void);
 void codec_thread_resume(void);
-bool is_codec_thread(void);
 #ifdef HAVE_PRIORITY_SCHEDULING
 int codec_thread_get_priority(void);
 int codec_thread_set_priority(int priority);
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 946eb16..2e8bc3f 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -332,17 +332,10 @@
     /* Maintain the buffer level above the watermark */
     if (playing)
     {
-        /* Only codec thread initiates boost - voice boosts the cpu when playing
-           a clip */
-#ifndef SIMULATOR
-        if (is_codec_thread())
-#endif /* SIMULATOR */
-        {
-            /* boost cpu if necessary */
-            if (pcmbuf_unplayed_bytes < pcmbuf_watermark)
-                trigger_cpu_boost();
-            boost_codec_thread(pcmbuf_unplayed_bytes*10/pcmbuf_size);
-        }
+        /* boost cpu if necessary */
+        if (pcmbuf_unplayed_bytes < pcmbuf_watermark)
+            trigger_cpu_boost();
+        boost_codec_thread(pcmbuf_unplayed_bytes*10/pcmbuf_size);
 
 #ifdef HAVE_CROSSFADE
         /* Disable crossfade if < .5s of audio */
