diff --git a/tests/aidl_test_client_service_exceptions.cpp b/tests/aidl_test_client_service_exceptions.cpp
index df3b29f..89dc19c 100644
--- a/tests/aidl_test_client_service_exceptions.cpp
+++ b/tests/aidl_test_client_service_exceptions.cpp
@@ -24,16 +24,12 @@
 }
 
 TEST_F(AidlTest, serviceSpecificException) {
-  if (backend == BackendType::JAVA) {
-    // TODO(b/169704480): investigate why this is returning 'unexpected null'
-    GTEST_SKIP() << "Broken in Java? b/169704480";
-  }
-
   using testing::Eq;
 
   for (int32_t i = -1; i < 2; ++i) {
     auto status = service->ThrowServiceException(i);
-    ASSERT_THAT(status.exceptionCode(), Eq(android::binder::Status::EX_SERVICE_SPECIFIC)) << status;
-    ASSERT_THAT(status.serviceSpecificErrorCode(), Eq(i)) << status;
+    EXPECT_THAT(status.exceptionCode(), Eq(android::binder::Status::EX_SERVICE_SPECIFIC))
+        << status << " for " << i;
+    EXPECT_THAT(status.serviceSpecificErrorCode(), Eq(i)) << status << " for " << i;
   }
 }
diff --git a/tests/rust/test_client.rs b/tests/rust/test_client.rs
index 852daaa..f8767ff 100644
--- a/tests/rust/test_client.rs
+++ b/tests/rust/test_client.rs
@@ -344,12 +344,6 @@
 fn test_service_specific_exception() {
     let service = get_test_service();
 
-    let backend = service.getBackendType().expect("error getting backend type");
-    if backend == BackendType::JAVA {
-        // TODO(b/178861468): not correctly thrown from Java
-        return;
-    }
-
     for i in -1..2 {
         let result = service.ThrowServiceException(i);
         assert!(result.is_err());
