diff --git a/modules/soundtrigger/sound_trigger_hw.c b/modules/soundtrigger/sound_trigger_hw.c
index cfb275a..2034fbe 100644
--- a/modules/soundtrigger/sound_trigger_hw.c
+++ b/modules/soundtrigger/sound_trigger_hw.c
@@ -102,7 +102,10 @@
 struct stub_sound_trigger_device {
     struct sound_trigger_hw_device device;
     pthread_mutex_t lock;
-    pthread_t callback_thread;
+
+    // This thread opens a port that can be used to monitor and inject events
+    // into the stub HAL.
+    pthread_t control_thread;
 
     // Recognition contexts are stored as a linked list
     struct recognition_context *root_model_context;
@@ -270,7 +273,7 @@
     return model_context;
 }
 
-static void *callback_thread_loop(void *context) {
+static void *control_thread_loop(void *context) {
     struct stub_sound_trigger_device *stdev = (struct stub_sound_trigger_device *)context;
     struct sockaddr_in incoming_info;
     struct sockaddr_in self_info;
@@ -692,12 +695,8 @@
     model_context->recognition_callback = callback;
     model_context->recognition_cookie = cookie;
 
-    if (!other_callbacks_found) {
-        pthread_create(&stdev->callback_thread, (const pthread_attr_t *) NULL,
-                callback_thread_loop, stdev);
-    }
-
     pthread_mutex_unlock(&stdev->lock);
+    ALOGI("%s done for handle %d", __func__, handle);
     return 0;
 }
 
@@ -719,14 +718,8 @@
     model_context->recognition_callback = NULL;
     model_context->recognition_cookie = NULL;
 
-    /* If no more models running with callbacks, stop trigger thread */
-    if (!recognition_callback_exists(stdev)) {
-        send_loop_kill_signal();
-        pthread_mutex_unlock(&stdev->lock);
-        pthread_join(stdev->callback_thread, (void **)NULL);
-    } else {
-        pthread_mutex_unlock(&stdev->lock);
-    }
+    pthread_mutex_unlock(&stdev->lock);
+    ALOGI("%s done for handle %d", __func__, handle);
 
     return 0;
 }
@@ -749,6 +742,11 @@
 }
 
 static int stdev_close(hw_device_t *device) {
+    // TODO: Implement the ability to stop the control thread. Since this is a
+    // test hal, we have skipped implementing this for now. A possible method
+    // would register a signal handler for the control thread so that any
+    // blocking socket calls can be interrupted. We would send that signal here
+    // to interrupt and quit the thread.
     free(device);
     return 0;
 }
@@ -782,6 +780,10 @@
 
     *device = &stdev->device.common;
 
+    pthread_create(&stdev->control_thread, (const pthread_attr_t *) NULL,
+                control_thread_loop, stdev);
+    ALOGI("Starting control thread for the stub hal.");
+
     return 0;
 }
 
