diff --git a/test/cpp/common/alarm_cpp_test.cc b/test/cpp/common/alarm_cpp_test.cc
index 760dd7b956a469e74bd2cb24a726332db4a8daa1..ce4168843cdbdd311edfff5b9af55b028f8b83fa 100644
--- a/test/cpp/common/alarm_cpp_test.cc
+++ b/test/cpp/common/alarm_cpp_test.cc
@@ -40,13 +40,25 @@ TEST(AlarmTest, RegularExpiry) {
   EXPECT_EQ(junk, output_tag);
 }
 
-TEST(AlarmTest, Move) {
+TEST(AlarmTest, MoveConstructor) {
+  CompletionQueue cq;
+  void* junk = reinterpret_cast<void*>(1618033);
+  Alarm first(&cq, grpc_timeout_seconds_to_deadline(1), junk);
+  Alarm second(std::move(first));
+  void* output_tag;
+  bool ok;
+  const CompletionQueue::NextStatus status = cq.AsyncNext(
+      (void**)&output_tag, &ok, grpc_timeout_seconds_to_deadline(2));
+  EXPECT_EQ(status, CompletionQueue::GOT_EVENT);
+  EXPECT_TRUE(ok);
+  EXPECT_EQ(junk, output_tag);
+}
+
+TEST(AlarmTest, MoveAssignment) {
   CompletionQueue cq;
   void* junk = reinterpret_cast<void*>(1618033);
   Alarm first(&cq, grpc_timeout_seconds_to_deadline(1), junk);
-  // Move constructor.
   Alarm second(std::move(first));
-  // Moving assignment.
   first = std::move(second);
 
   void* output_tag;