diff --git a/permission/types/permissions.go b/permission/types/permissions.go
index a2eb8f899f7621fce7127dbada0e168e06aa5d05..94f31e31888311f1bc21a2b3d9771b8b191d071d 100644
--- a/permission/types/permissions.go
+++ b/permission/types/permissions.go
@@ -238,6 +238,8 @@ func PermFlagToString(pf PermFlag) (perm string) {
 	return
 }
 
+// PermStringToFlag maps camel- and snake case strings to the
+// the corresponding permission flag.
 func PermStringToFlag(perm string) (pf PermFlag, err error) {
 	switch strings.ToLower(perm) {
 	case "root":
@@ -246,9 +248,9 @@ func PermStringToFlag(perm string) (pf PermFlag, err error) {
 		pf = Send
 	case "call":
 		pf = Call
-	case "create_contract":
+	case "createcontract", "create_contract":
 		pf = CreateContract
-	case "create_account":
+	case "createaccount", "create_account":
 		pf = CreateAccount
 	case "bond":
 		pf = Bond
@@ -266,7 +268,7 @@ func PermStringToFlag(perm string) (pf PermFlag, err error) {
 		pf = HasRole
 	case "addrole", "add_role":
 		pf = AddRole
-	case "removerole", "rm_role":
+	case "removerole", "rmrole", "rm_role":
 		pf = RmRole
 	default:
 		err = fmt.Errorf("Unknown permission %s", perm)