diff --git a/addons/pad/pad.py b/addons/pad/pad.py
index b79d2f01ca8c576e8fdaa46fa854e3049645ea26..0eb9280805303400323d8e5d3dbdcfb3152ec3d7 100644
--- a/addons/pad/pad.py
+++ b/addons/pad/pad.py
@@ -37,7 +37,9 @@ class pad_common(osv.osv_memory):
         s = string.ascii_uppercase + string.digits
         salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(10)])
         #path
-        path = '%s-%s-%s' % (cr.dbname.replace('_','-'), self._name, salt)
+        # etherpad hardcodes pad id length limit to 50
+        path = '-%s-%s' % (self._name, salt)
+        path = '%s%s' % (cr.dbname.replace('_','-')[0:50 - len(path)], path)
         # contruct the url
         url = '%s/p/%s' % (pad["server"], path)