diff --git a/protos/voltha_protos/adapter_service.proto b/protos/voltha_protos/adapter_service.proto
index cfd5f29..08578a4 100755
--- a/protos/voltha_protos/adapter_service.proto
+++ b/protos/voltha_protos/adapter_service.proto
@@ -20,7 +20,7 @@
 service AdapterService {
     // GetHealthStatus is used by an AdapterService client to verify connectivity
     // to the gRPC server hosting the AdapterService service
-    rpc GetHealthStatus(common.Connection) returns (health.HealthStatus);
+    rpc GetHealthStatus(stream common.Connection) returns (stream health.HealthStatus);
 
     // Device
     rpc AdoptDevice(device.Device) returns(google.protobuf.Empty);
diff --git a/protos/voltha_protos/core_services.proto b/protos/voltha_protos/core_services.proto
index f0929f4..738bd3e 100755
--- a/protos/voltha_protos/core_services.proto
+++ b/protos/voltha_protos/core_services.proto
@@ -15,8 +15,10 @@
 // The CoreService is a gRPC service implemented by the Voltha RW-Core for the
 // sole purpose of serving requests/updates from the Voltha adapters. 
 service CoreService {
-	//	 in coreProxy interface
-	rpc GetHealthStatus(common.Connection) returns (health.HealthStatus);
+	// GetHealthStatus is used by a CoreService client to verify connectivity
+    // to the gRPC server hosting the CoreService service
+    rpc GetHealthStatus(stream common.Connection) returns (stream health.HealthStatus);
+
 	rpc RegisterAdapter (core_adapter.AdapterRegistration) returns (google.protobuf.Empty);
 	rpc DeviceUpdate (device.Device) returns (google.protobuf.Empty);
 	rpc PortCreated (device.Port) returns (google.protobuf.Empty);
diff --git a/protos/voltha_protos/olt_inter_adapter_service.proto b/protos/voltha_protos/olt_inter_adapter_service.proto
index 68dbb6f..6ebad57 100755
--- a/protos/voltha_protos/olt_inter_adapter_service.proto
+++ b/protos/voltha_protos/olt_inter_adapter_service.proto
@@ -12,9 +12,10 @@
 import "voltha_protos/health.proto";
 
 service OltInterAdapterService {
-    // GetHealthStatus is used by an OltInterAdapterService client to verify connectivity
-    // to the gRPC server hosting the OltInterAdapterService service
-    rpc GetHealthStatus(common.Connection) returns (health.HealthStatus);
+    // GetHealthStatus is used by a OltInterAdapterService client to detect a connection
+    // lost with the gRPC server hosting the OltInterAdapterService service
+    rpc GetHealthStatus(stream common.Connection) returns (stream health.HealthStatus);
+
 
     rpc ProxyOmciRequest(inter_adapter.OmciMessage) returns (google.protobuf.Empty);
     rpc ProxyOmciRequests(inter_adapter.OmciMessages) returns (google.protobuf.Empty);
diff --git a/protos/voltha_protos/onu_inter_adapter_service.proto b/protos/voltha_protos/onu_inter_adapter_service.proto
index 1b9243a..3b3d25d 100755
--- a/protos/voltha_protos/onu_inter_adapter_service.proto
+++ b/protos/voltha_protos/onu_inter_adapter_service.proto
@@ -12,9 +12,9 @@
 import "voltha_protos/health.proto";
 
 service OnuInterAdapterService {
-    // GetHealthStatus is used by an OnuInterAdapterService client to verify connectivity
-    // to the gRPC server hosting the OnuInterAdapterService service
-    rpc GetHealthStatus(common.Connection) returns (health.HealthStatus);
+    // GetHealthStatus is used by a OnuInterAdapterService client to detect a connection
+    // lost with the gRPC server hosting the OnuInterAdapterService service
+    rpc GetHealthStatus(stream common.Connection) returns (stream health.HealthStatus);
 
     rpc OnuIndication(inter_adapter.OnuIndicationMessage) returns (google.protobuf.Empty);
     rpc OmciIndication(inter_adapter.OmciMessage) returns (google.protobuf.Empty);
