diff --git a/mininet/node.py b/mininet/node.py
index 2af68a6951441011be1154a6a5f414b63a02c1b3..b197a5baa01417f506336555fd63f48231ebcd46 100644
--- a/mininet/node.py
+++ b/mininet/node.py
@@ -756,7 +756,8 @@ def __init__( self, name, dpid=None, opts='', listenPort=None, **params):
            opts: additional switch options
            listenPort: port to listen on for dpctl connections"""
         Node.__init__( self, name, **params )
-        self.dpid = dpid if dpid else self.defaultDpid()
+        self.dpid = ( ( '0' * self.dpidLen + dpid.translate( None, ':' ) )
+                      [ -self.dpidLen: ] if dpid else self.defaultDpid() )
         self.opts = opts
         self.listenPort = listenPort
         if not self.inNamespace: