diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc
index 2cfce5b..7e55bf9 100644
--- a/compiler/cpp/src/thrift/generate/t_java_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc
@@ -3199,13 +3199,9 @@
  * @param tservice The service to generate a server for.
  */
 void t_java_generator::generate_service_client(t_service* tservice) {
-  string extends = "";
-  string extends_client = "";
-  if (tservice->get_extends() == nullptr) {
-    extends_client = "org.apache.thrift.TServiceClient";
-  } else {
-    extends = type_name(tservice->get_extends());
-    extends_client = extends + ".Client";
+  string extends_client = "org.apache.thrift.TServiceClient";
+  if (tservice->get_extends() != nullptr) {
+    extends_client = type_name(tservice->get_extends()) + ".Client";
   }
 
   indent(f_service_) << "public static class Client extends " << extends_client
@@ -3416,13 +3412,12 @@
 }
 
 void t_java_generator::generate_service_async_client(t_service* tservice) {
-  string extends = "org.apache.thrift.async.TAsyncClient";
-  string extends_client = "";
+  string extends_client = "org.apache.thrift.async.TAsyncClient";
   if (tservice->get_extends() != nullptr) {
-    extends = type_name(tservice->get_extends()) + ".AsyncClient";
+    extends_client = type_name(tservice->get_extends()) + ".AsyncClient";
   }
 
-  indent(f_service_) << "public static class AsyncClient extends " << extends
+  indent(f_service_) << "public static class AsyncClient extends " << extends_client
                      << " implements AsyncIface {" << endl;
   indent_up();
 
