diff --git a/osbase/supervisor/BUILD.bazel b/osbase/supervisor/BUILD.bazel
index 9dfda5a..2fc6634 100644
--- a/osbase/supervisor/BUILD.bazel
+++ b/osbase/supervisor/BUILD.bazel
@@ -19,6 +19,7 @@
         "//osbase/logtree",
         "@com_github_cenkalti_backoff_v4//:backoff",
         "@com_github_prometheus_client_golang//prometheus",
+        "@com_github_prometheus_client_golang//prometheus/promauto",
         "@org_golang_google_grpc//:grpc",
     ],
 )
diff --git a/osbase/supervisor/supervisor_metrics_prometheus.go b/osbase/supervisor/supervisor_metrics_prometheus.go
index 49ee973..9ae18a8 100644
--- a/osbase/supervisor/supervisor_metrics_prometheus.go
+++ b/osbase/supervisor/supervisor_metrics_prometheus.go
@@ -1,9 +1,8 @@
 package supervisor
 
 import (
-	"fmt"
-
 	"github.com/prometheus/client_golang/prometheus"
+	"github.com/prometheus/client_golang/prometheus/promauto"
 )
 
 // MetricsPrometheus is a Metrics implementation which exports the supervisor
@@ -24,15 +23,16 @@
 // and return a Metrics instance to be used with WithMetrics.
 //
 // This should only be called once for a given registry.
-func NewMetricsPrometheus(registry *prometheus.Registry) (*MetricsPrometheus, error) {
+func NewMetricsPrometheus(registry *prometheus.Registry) *MetricsPrometheus {
+	factory := promauto.With(registry)
 	res := &MetricsPrometheus{
-		exportedState: prometheus.NewGaugeVec(prometheus.GaugeOpts{
+		exportedState: factory.NewGaugeVec(prometheus.GaugeOpts{
 			Namespace: "monogon",
 			Subsystem: "supervisor",
 			Name:      "dn_state_total",
 			Help:      "Total count of supervisor runnables, broken up by DN and state",
 		}, []string{"dn", "state"}),
-		exportedEdge: prometheus.NewCounterVec(prometheus.CounterOpts{
+		exportedEdge: factory.NewCounterVec(prometheus.CounterOpts{
 			Namespace:   "monogon",
 			Subsystem:   "supervisor",
 			Name:        "dn_state_transition_count",
@@ -41,13 +41,7 @@
 		}, []string{"dn", "old_state", "new_state"}),
 		cachedState: make(map[string]*NodeState),
 	}
-	if err := registry.Register(res.exportedState); err != nil {
-		return nil, fmt.Errorf("when registering dn_state_total: %w", err)
-	}
-	if err := registry.Register(res.exportedEdge); err != nil {
-		return nil, fmt.Errorf("when registering dn_state_transition_count: %w", err)
-	}
-	return res, nil
+	return res
 }
 
 func (m *MetricsPrometheus) exportState(dn string, state NodeState, value float64) {
