diff --git a/core/api/current.txt b/core/api/current.txt
index 1b54cc9..bc1131d 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -41305,8 +41305,7 @@
     field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
   }
 
-  public final class CallControl implements java.lang.AutoCloseable {
-    method public void close();
+  public final class CallControl {
     method public void disconnect(@NonNull android.telecom.DisconnectCause, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>);
     method @NonNull public android.os.ParcelUuid getCallId();
     method public void rejectCall(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.telecom.CallException>);
diff --git a/telecomm/java/android/telecom/CallControl.java b/telecomm/java/android/telecom/CallControl.java
index 770a374..315ac67 100644
--- a/telecomm/java/android/telecom/CallControl.java
+++ b/telecomm/java/android/telecom/CallControl.java
@@ -21,6 +21,7 @@
 import android.annotation.CallbackExecutor;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SuppressLint;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.OutcomeReceiver;
@@ -45,7 +46,8 @@
  * {@link OutcomeReceiver#onError} is called and provides a {@link CallException} that details why
  * the operation failed.
  */
-public final class CallControl implements AutoCloseable {
+@SuppressLint("NotCloseable")
+public final class CallControl {
     private static final String TAG = CallControl.class.getSimpleName();
     private static final String INTERFACE_ERROR_MSG = "Call Control is not available";
     private final String mCallId;
@@ -261,17 +263,6 @@
     }
 
     /**
-     * This method should be called after
-     * {@link CallControl#disconnect(DisconnectCause, Executor, OutcomeReceiver)} or
-     * {@link CallControl#rejectCall(Executor, OutcomeReceiver)}
-     * to destroy all references of this object and avoid memory leaks.
-     */
-    @Override
-    public void close() {
-        mRepository.removeCallFromServiceWrapper(mPhoneAccountHandle, mCallId);
-    }
-
-    /**
      * Since {@link OutcomeReceiver}s cannot be passed via AIDL, a ResultReceiver (which can) must
      * wrap the Clients {@link OutcomeReceiver} passed in and await for the Telecom Server side
      * response in {@link ResultReceiver#onReceiveResult(int, Bundle)}.
