diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index b5df749cba8fe11746ed6f9bb5c363966233880c..548e4e6e698f041f3802a28339b4ed69ba971b7c 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -144,9 +144,9 @@ int genl_register_ops(struct genl_family *family, struct genl_ops *ops)
 	}
 
 	if (ops->dumpit)
-		ops->flags |= GENL_CMD_CAP_DO;
-	if (ops->doit)
 		ops->flags |= GENL_CMD_CAP_DUMP;
+	if (ops->doit)
+		ops->flags |= GENL_CMD_CAP_DO;
 	if (ops->policy)
 		ops->flags |= GENL_CMD_CAP_HASPOL;