diff --git a/transport/HidlBinderSupport.cpp b/transport/HidlBinderSupport.cpp
index add1f5e..cd05c3d 100644
--- a/transport/HidlBinderSupport.cpp
+++ b/transport/HidlBinderSupport.cpp
@@ -19,7 +19,6 @@
 #include <hidl/HidlBinderSupport.h>
 
 #include <InternalStatic.h>  // TODO(b/69122224): remove this include, for getOrCreateCachedBinder
-#include <hwbinder/IPCThreadState.h>
 
 // C includes
 #include <unistd.h>
diff --git a/transport/HidlTransportSupport.cpp b/transport/HidlTransportSupport.cpp
index b214f1a..9c2bf25 100644
--- a/transport/HidlTransportSupport.cpp
+++ b/transport/HidlTransportSupport.cpp
@@ -13,11 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#include <hidl/HidlBinderSupport.h>
 #include <hidl/HidlTransportSupport.h>
-#include <hidl/Static.h>
+#include <hidl/HidlBinderSupport.h>
 
-#include <android-base/logging.h>
 #include <android/hidl/manager/1.0/IServiceManager.h>
 
 namespace android {
@@ -43,20 +41,20 @@
 bool setMinSchedulerPolicy(const sp<::android::hidl::base::V1_0::IBase>& service,
                            int policy, int priority) {
     if (service->isRemote()) {
-        LOG(ERROR) << "Can't set scheduler policy on remote service.";
+        ALOGE("Can't set scheduler policy on remote service.");
         return false;
     }
 
     if (policy != SCHED_NORMAL && policy != SCHED_FIFO && policy != SCHED_RR) {
-        LOG(ERROR) << "Invalid scheduler policy " << policy;
+        ALOGE("Invalid scheduler policy %d", policy);
         return false;
     }
 
     if (policy == SCHED_NORMAL && (priority < -20 || priority > 19)) {
-        LOG(ERROR) << "Invalid priority for SCHED_NORMAL: " << priority;
+        ALOGE("Invalid priority for SCHED_NORMAL: %d", priority);
         return false;
     } else if (priority < 1 || priority > 99) {
-        LOG(ERROR) << "Invalid priority for real-time policy: " << priority;
+        ALOGE("Invalid priority for real-time policy: %d", priority);
         return false;
     }
 
diff --git a/transport/include/hidl/HidlBinderSupport.h b/transport/include/hidl/HidlBinderSupport.h
index 8fe1450..97d185e 100644
--- a/transport/include/hidl/HidlBinderSupport.h
+++ b/transport/include/hidl/HidlBinderSupport.h
@@ -24,10 +24,11 @@
 #include <hidl/HidlSupport.h>
 #include <hidl/HidlTransportUtils.h>
 #include <hidl/MQDescriptor.h>
+#include <hidl/Static.h>
 #include <hwbinder/IBinder.h>
+#include <hwbinder/IPCThreadState.h>
 #include <hwbinder/Parcel.h>
-#include <log/log.h>  // TODO(b/65843592): remove. Too many users depending on this transitively.
-
+#include <hwbinder/ProcessState.h>
 // Defines functions for hidl_string, hidl_version, Status, hidl_vec, MQDescriptor,
 // etc. to interact with Parcel.
 
