diff --git a/scapy/layers/l2.py b/scapy/layers/l2.py
index 749d571b7fa078baa91aa3643d64aa831fbd925b..ae42b62da4f089eb115de067febffd8aaf9feec1 100644
--- a/scapy/layers/l2.py
+++ b/scapy/layers/l2.py
@@ -50,6 +50,7 @@ def getmacbyip(ip, chainCC=0):
     """Return MAC address corresponding to a given IP address"""
     if isinstance(ip,Net):
         ip = iter(ip).next()
+    ip = inet_ntoa(inet_aton(ip))
     tmp = map(ord, inet_aton(ip))
     if (tmp[0] & 0xf0) == 0xe0: # mcast @
         return "01:00:5e:%.2x:%.2x:%.2x" % (tmp[1]&0x7f,tmp[2],tmp[3])