diff --git a/VERSION b/VERSION
index 0c62199f16ac1e2d7f7ae75b420c1231325dff4e..ee1372d33a29e27945406f0527f8af8e6ee119c9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.2.1
+0.2.2
diff --git a/lib/PZ/Controller/Shortcut.pm b/lib/PZ/Controller/Shortcut.pm
index 48d1746f75dd21e32c7924eb0963a6b8d4fa2614..e7a9e3083d49a87c38286ace2e81f57bcb6bea4d 100644
--- a/lib/PZ/Controller/Shortcut.pm
+++ b/lib/PZ/Controller/Shortcut.pm
@@ -43,7 +43,7 @@ sub create ($c) {
 
     $shortcut ||= $c->schema->resultset('Shortcut')->create({
         %data,
-        shortcut => ($custom || $c->schema->resultset('Shortcut')->generate()),
+        shortcut => $c->schema->resultset('Shortcut')->generate($custom),
     });
 
     $url = 'https://' . $c->config->{domain} . '/' . $shortcut->shortcut;
diff --git a/lib/PZ/Schema/ResultSet/Shortcut.pm b/lib/PZ/Schema/ResultSet/Shortcut.pm
index 88ae4f051c5a9b1b65869f498d25e2f290345965..b19c821f49ec3edc6b56cf1de53f709fbf266a43 100644
--- a/lib/PZ/Schema/ResultSet/Shortcut.pm
+++ b/lib/PZ/Schema/ResultSet/Shortcut.pm
@@ -10,7 +10,10 @@ use Data::Random qw(rand_chars);
 use constant SIZE => 4;
 
 sub generate {
-    my $class = shift;
+    my $class  = shift;
+    my $custom = shift;
+
+    return $custom if $custom;
 
     my $shortcut;