diff --git a/esphome/components/mcp4461/output/__init__.py b/esphome/components/mcp4461/output/__init__.py
index efa2bafb31..2124d67a55 100644
--- a/esphome/components/mcp4461/output/__init__.py
+++ b/esphome/components/mcp4461/output/__init__.py
@@ -51,4 +51,5 @@ async def to_code(config):
         config[CONF_TERMINAL_W],
     )
     await output.register_output(var, config)
-    cg.add(var.set_initial_value(config[CONF_INITIAL_VALUE]))
+    if CONF_INITIAL_VALUE in config:
+        cg.add(var.set_initial_value(config[CONF_INITIAL_VALUE]))