diff --git a/modules/soundtrigger/sound_trigger_hw.c b/modules/soundtrigger/sound_trigger_hw.c
index 25d4813..0089f98 100644
--- a/modules/soundtrigger/sound_trigger_hw.c
+++ b/modules/soundtrigger/sound_trigger_hw.c
@@ -811,39 +811,6 @@
     return 0;
 }
 
-// Caller is responsible for freeing the memory
-static struct sound_trigger_recognition_event * stdev_get_model_state(
-            const struct sound_trigger_hw_device *dev,
-            sound_model_handle_t handle) {
-    struct stub_sound_trigger_device *stdev = (struct stub_sound_trigger_device *)dev;
-    ALOGI("%s", __func__);
-    pthread_mutex_lock(&stdev->lock);
-
-    struct recognition_context *model_context = get_model_context(stdev, handle);
-    if (!model_context) {
-        ALOGW("Can't find sound model handle %d in registered list", handle);
-        pthread_mutex_unlock(&stdev->lock);
-        return NULL;
-    }
-
-    struct sound_trigger_recognition_event *event = NULL;
-    if (model_context->model_type == SOUND_MODEL_TYPE_GENERIC) {
-      // TODO(mdooley): define a new status for this use case?
-      int status = RECOGNITION_STATUS_SUCCESS;
-      event = (struct sound_trigger_recognition_event *)
-              sound_trigger_generic_event_alloc(model_context->model_handle,
-                                                model_context->config, status);
-    } else {
-      ALOGI("Unsupported sound model type: %d, state not available.",
-            model_context->model_type);
-    }
-
-    pthread_mutex_unlock(&stdev->lock);
-    ALOGI("%s done for handle %d", __func__, handle);
-
-    return event;
-}
-
 __attribute__ ((visibility ("default")))
 int sound_trigger_open_for_streaming() {
     int ret = 0;
@@ -896,7 +863,6 @@
     stdev->device.start_recognition = stdev_start_recognition;
     stdev->device.stop_recognition = stdev_stop_recognition;
     stdev->device.stop_all_recognitions = stdev_stop_all_recognitions;
-    stdev->device.get_model_state = stdev_get_model_state;
 
     pthread_mutex_init(&stdev->lock, (const pthread_mutexattr_t *) NULL);
 
@@ -924,3 +890,4 @@
         .methods = &hal_module_methods,
     },
 };
+
