s->name = port->name;
 
     system_id = get_port_other_config(port->cfg, "lacp-system-id", NULL);
-    if (!system_id
-        || sscanf(system_id, ETH_ADDR_SCAN_FMT,
-                  ETH_ADDR_SCAN_ARGS(s->id)) != ETH_ADDR_SCAN_COUNT) {
+    if (system_id) {
+        if (sscanf(system_id, ETH_ADDR_SCAN_FMT,
+                   ETH_ADDR_SCAN_ARGS(s->id)) != ETH_ADDR_SCAN_COUNT) {
+            VLOG_WARN("port %s: LACP system ID (%s) must be an Ethernet"
+                      " address.", port->name, system_id);
+            return NULL;
+        }
+    } else {
         memcpy(s->id, port->bridge->ea, ETH_ADDR_LEN);
     }
 
 
         <column name="other_config" key="lacp-system-id">
           The LACP system ID of this <ref table="Port"/>.  The system ID of a
           LACP bond is used to identify itself to its partners.  Must be a
-          nonzero MAC address.
+          nonzero MAC address. Defaults to the bridge Ethernet address if
+          unset.
         </column>
 
         <column name="other_config" key="lacp-system-priority"