diff --git a/pkg/server/server.go b/pkg/server/server.go
index 26d65a4f0eac05e7bd747dd4558bcf9fb89197a1..596bac138c761873197f97455165766e10cca8dd 100644
--- a/pkg/server/server.go
+++ b/pkg/server/server.go
@@ -116,7 +116,7 @@ func (s *Server) serveBatch(ctx context.Context,
 			cr:  r,
 		}
 		rs = append(rs, rw)
-		// a nil incoming message means an empty response
+		// a nil incoming message means return an invalid request.
 		if v == nil {
 			v = &codec.Message{ID: codec.NewNullIDPtr()}
 			rw.err = codec.NewInvalidRequestError("invalid request")
@@ -124,12 +124,16 @@ func (s *Server) serveBatch(ctx context.Context,
 		rw.msg = v
 		rw.msg.ExtraFields = codec.ExtraFields{}
 		rw.msg.Error = nil
+		// zero length method is always invalid request
 		if len(v.Method) == 0 {
+			// assume if the method is not there AND the id is not there that it's an invalid REQUEST not notification
+			// this makes sure we add 1 to totalRequests
 			if v.ID == nil {
 				v.ID = codec.NewNullIDPtr()
 			}
 			rw.err = codec.NewInvalidRequestError("invalid request")
 		}
+		// requests and malformed requests both count as requests
 		if v.ID != nil {
 			totalRequests += 1
 		}