diff --git a/openjdkjvmti/OpenjdkJvmTi.cc b/openjdkjvmti/OpenjdkJvmTi.cc
index 277f611..4339b2b 100644
--- a/openjdkjvmti/OpenjdkJvmTi.cc
+++ b/openjdkjvmti/OpenjdkJvmTi.cc
@@ -207,11 +207,11 @@
   }
 
   static jvmtiError GetCurrentContendedMonitor(jvmtiEnv* env,
-                                               jthread thread ATTRIBUTE_UNUSED,
-                                               jobject* monitor_ptr ATTRIBUTE_UNUSED) {
+                                               jthread thread,
+                                               jobject* monitor_ptr) {
     ENSURE_VALID_ENV(env);
     ENSURE_HAS_CAP(env, can_get_current_contended_monitor);
-    return ERR(NOT_IMPLEMENTED);
+    return MonitorUtil::GetCurrentContendedMonitor(env, thread, monitor_ptr);
   }
 
   static jvmtiError RunAgentThread(jvmtiEnv* env,
