diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs
index 2c60f0d29e61860e2656a5d4bc148c632327afa1..beb68e05475238b4b6687a0a7cd6bb170f203868 100644
--- a/src/api/core/ciphers.rs
+++ b/src/api/core/ciphers.rs
@@ -251,9 +251,14 @@ fn post_ciphers_import(data: JsonUpcase<ImportData>, headers: Headers, conn: DbC
     }
 }
 
+
+#[put("/ciphers/<uuid>/admin", data = "<data>")]
+fn put_cipher_admin(uuid: String, data: JsonUpcase<CipherData>, headers: Headers, conn: DbConn) -> JsonResult {
+    put_cipher(uuid, data, headers, conn)
+}
+
 #[post("/ciphers/<uuid>/admin", data = "<data>")]
 fn post_cipher_admin(uuid: String, data: JsonUpcase<CipherData>, headers: Headers, conn: DbConn) -> JsonResult {
-    // TODO: Implement this correctly
     post_cipher(uuid, data, headers, conn)
 }
 
diff --git a/src/api/core/mod.rs b/src/api/core/mod.rs
index b0c191223561763c27b0dffd13fde86779e8a3d8..4206aca27647c9c9aab3f1d63743c2033b9deb4f 100644
--- a/src/api/core/mod.rs
+++ b/src/api/core/mod.rs
@@ -33,6 +33,7 @@ pub fn routes() -> Vec<Route> {
         get_cipher_admin,
         get_cipher_details,
         post_ciphers,
+        put_cipher_admin,
         post_ciphers_admin,
         post_ciphers_import,
         post_attachment,