diff --git a/handler/routes.go b/handler/routes.go
index ea34b8a..9439977 100644
--- a/handler/routes.go
+++ b/handler/routes.go
@@ -231,6 +231,9 @@ func NewClient(db store.IStore) echo.HandlerFunc {
 				})
 			}
 			client.PresharedKey = presharedKey.String()
+		} else if client.PresharedKey == "-" {
+			client.PresharedKey = ""
+			log.Infof("skipped PresharedKey generation for user: %v", client.Name)
 		} else {
 			_, err := wgtypes.ParseKey(client.PresharedKey)
 			if err != nil {
diff --git a/templates/base.html b/templates/base.html
index d92e107..03d91bf 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -206,7 +206,7 @@
                                 <summary><strong>Public and Preshared Keys</strong>
                                     <i class="fas fa-info-circle" data-toggle="tooltip"
                                        data-original-title="If you don't want to let the server generate and store the
-                                       client's private, you can manually specify its public and preshared key here
+                                       client's private key, you can manually specify its public and preshared key here
                                        . Note: QR code will not be generated">
                                     </i>
                                 </summary>
@@ -220,7 +220,7 @@
                                     <label for="client_preshared_key" class="control-label">
                                         Preshared Key
                                     </label>
-                                    <input type="text" class="form-control" id="client_preshared_key" name="client_preshared_key" placeholder="Autogenerated">
+                                    <input type="text" class="form-control" id="client_preshared_key" name="client_preshared_key" placeholder="Autogenerated - enter &quot;-&quot; to skip generation">
                                 </div>
                             </details>
                         </div>