diff --git a/java/com/google/gerrit/server/restapi/change/SetReadyForReview.java b/java/com/google/gerrit/server/restapi/change/SetReadyForReview.java
index f487c28602..73b56b1be4 100644
--- a/java/com/google/gerrit/server/restapi/change/SetReadyForReview.java
+++ b/java/com/google/gerrit/server/restapi/change/SetReadyForReview.java
@@ -14,6 +14,9 @@
 
 package com.google.gerrit.server.restapi.change;
 
+import static com.google.gerrit.extensions.conditions.BooleanCondition.and;
+import static com.google.gerrit.extensions.conditions.BooleanCondition.or;
+
 import com.google.gerrit.common.TimeUtil;
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
@@ -93,8 +96,12 @@ public class SetReadyForReview extends RetryingRestModifyView<ChangeResource, In
         .setLabel("Start Review")
         .setTitle("Set Ready For Review")
         .setVisible(
-            rsrc.isUserOwner()
-                && rsrc.getChange().getStatus() == Status.NEW
-                && rsrc.getChange().isWorkInProgress());
+            and(
+                rsrc.getChange().getStatus() == Status.NEW && rsrc.getChange().isWorkInProgress(),
+                or(
+                    rsrc.isUserOwner(),
+                    permissionBackend
+                        .currentUser()
+                        .testCond(GlobalPermission.ADMINISTRATE_SERVER))));
   }
 }
diff --git a/java/com/google/gerrit/server/restapi/change/SetWorkInProgress.java b/java/com/google/gerrit/server/restapi/change/SetWorkInProgress.java
index 7fcf6a0348..a78cbaec12 100644
--- a/java/com/google/gerrit/server/restapi/change/SetWorkInProgress.java
+++ b/java/com/google/gerrit/server/restapi/change/SetWorkInProgress.java
@@ -14,6 +14,9 @@
 
 package com.google.gerrit.server.restapi.change;
 
+import static com.google.gerrit.extensions.conditions.BooleanCondition.and;
+import static com.google.gerrit.extensions.conditions.BooleanCondition.or;
+
 import com.google.gerrit.common.TimeUtil;
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
@@ -94,8 +97,12 @@ public class SetWorkInProgress extends RetryingRestModifyView<ChangeResource, In
         .setLabel("WIP")
         .setTitle("Set Work In Progress")
         .setVisible(
-            rsrc.isUserOwner()
-                && rsrc.getChange().getStatus() == Status.NEW
-                && !rsrc.getChange().isWorkInProgress());
+            and(
+                rsrc.getChange().getStatus() == Status.NEW && !rsrc.getChange().isWorkInProgress(),
+                or(
+                    rsrc.isUserOwner(),
+                    permissionBackend
+                        .currentUser()
+                        .testCond(GlobalPermission.ADMINISTRATE_SERVER))));
   }
 }