diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc
index 74290c36d234c03be1d28067d69524431a93aa81..364aa417cd2ab43cbdbb50fd2737792375a7583b 100644
--- a/test/cpp/end2end/async_end2end_test.cc
+++ b/test/cpp/end2end/async_end2end_test.cc
@@ -179,6 +179,17 @@ class AsyncEnd2endTest : public ::testing::TestWithParam<bool> {
   void SetUp() GRPC_OVERRIDE {
     int port = grpc_pick_unused_port_or_die();
     server_address_ << "localhost:" << port;
+
+    // It is currently unsupported to mix sync and async services
+    // in the same server, so first test that (for coverage)
+    ServerBuilder build_bad;
+    build_bad.AddListeningPort(server_address_.str(),
+				grpc::InsecureServerCredentials());
+    build_bad.RegisterAsyncService(&service_);
+    grpc::cpp::test::util::TestService::Service sync_service;
+    build_bad.RegisterService(&sync_service);
+    GPR_ASSERT(build_bad.BuildAndStart() == nullptr);
+
     // Setup server
     ServerBuilder builder;
     builder.AddListeningPort(server_address_.str(),