diff --git a/api/member.go b/api/member.go
index c0939a528a9ea040658f335368211f0651b2db74..1647c5339757dafb3c4d7644e7baf3d0a83a9a8b 100644
--- a/api/member.go
+++ b/api/member.go
@@ -179,7 +179,7 @@ func (a *api) UpdateMemberMe(num int, w http.ResponseWriter, req *http.Request)
 	}
 
 	member.Num = 0
-	member.Balance = -1
+	member.Role = ""
 	m, err := a.updateMember(num, member, true)
 	if err != nil {
 		if errors.Is(err, gorm.ErrRecordNotFound) {
@@ -225,8 +225,8 @@ func (a *api) updateMember(num int, member MemberReq, checkPass bool) (Member, e
 	if member.Email != "" {
 		dbMember.Email = member.Email
 	}
-	if member.Balance >= 0 {
-		dbMember.Balance = member.Balance
+	if member.Role != "" {
+		dbMember.Role = member.Role
 	}
 	if member.Password != "" {
 		dbMember.PassHash, dbMember.Salt, err = newHashPass(member.Password)
diff --git a/api/member_test.go b/api/member_test.go
index f374a2b6b56db91f759de5b50d6683a2538ab19c..b9c5b4753fe853e1dd8ef82cd7f73f0885e099eb 100644
--- a/api/member_test.go
+++ b/api/member_test.go
@@ -86,7 +86,7 @@ func TestMemberUpdate(t *testing.T) {
 
 	tapi.addTestMember()
 	member := testMember
-	member.Balance = 1000
+	member.Role = "admin"
 	resp := tapi.doAdmin("PUT", "/member/10", member, nil)
 	if resp.StatusCode != http.StatusAccepted {
 		t.Fatal("Can't update member:", resp.Status)
@@ -97,8 +97,8 @@ func TestMemberUpdate(t *testing.T) {
 	if resp.StatusCode != http.StatusOK {
 		t.Error("Can't find the member:", resp.Status)
 	}
-	if gotMember.Balance != 1000 {
-		t.Error("Wrong balance:", gotMember)
+	if gotMember.Role != "admin" {
+		t.Error("Wrong role:", gotMember)
 	}
 }