diff --git a/include/grpcpp/impl/codegen/async_stream_impl.h b/include/grpcpp/impl/codegen/async_stream_impl.h
index 4b94c470a5236a3d1562ff3f32efa5b4ed3e3d64..d9fa5f9968a51233cc51790bf8e28ef2459efe4e 100644
--- a/include/grpcpp/impl/codegen/async_stream_impl.h
+++ b/include/grpcpp/impl/codegen/async_stream_impl.h
@@ -50,7 +50,7 @@ class ClientAsyncStreamingInterface {
   /// when the call has been ended.
   /// Should not be used concurrently with other operations.
   ///
-  /// It is appropriate to call this method when both:
+  /// It is appropriate to call this method exactly once when both:
   ///   * the client side has no more message to send
   ///     (this can be declared implicitly by calling this method, or
   ///     explicitly through an earlier call to the <i>WritesDone</i> method
diff --git a/include/grpcpp/impl/codegen/sync_stream_impl.h b/include/grpcpp/impl/codegen/sync_stream_impl.h
index ec9cf49862d89a50c261cb716e1423ed07fc74e4..a69f4503e7e22802f5d6b8956b577c8fde52aa03 100644
--- a/include/grpcpp/impl/codegen/sync_stream_impl.h
+++ b/include/grpcpp/impl/codegen/sync_stream_impl.h
@@ -38,7 +38,7 @@ class ClientStreamingInterface {
   /// Block waiting until the stream finishes and a final status of the call is
   /// available.
   ///
-  /// It is appropriate to call this method when both:
+  /// It is appropriate to call this method exactly once when both:
   ///   * the calling code (client-side) has no more message to send
   ///     (this can be declared implicitly by calling this method, or
   ///     explicitly through an earlier call to <i>WritesDone</i> method of the