diff --git a/models/user.go b/models/user.go
index ffeb72525dc5..463d4a271f84 100644
--- a/models/user.go
+++ b/models/user.go
@@ -152,7 +152,12 @@ func DeleteUser(user *User) error {
 
 	// TODO: check issues, other repos' commits
 
-	// Delete SSH keys.
+	// Delete all feeds.
+	if _, err = orm.Delete(&Action{UserId: user.Id}); err != nil {
+		return err
+	}
+
+	// Delete all SSH keys.
 	keys := make([]PublicKey, 0, 10)
 	if err = orm.Find(&keys, &PublicKey{OwnerId: user.Id}); err != nil {
 		return err
diff --git a/routers/user/user.go b/routers/user/user.go
index e13f6909dddc..b87076d9e8c4 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -168,7 +168,7 @@ func Delete(ctx *middleware.Context) {
 		}
 	}
 
-	ctx.Render.HTML(200, "user/delete", ctx.Data)
+	ctx.Render.Redirect("/", 302)
 }
 
 const (
diff --git a/templates/user/publickey.tmpl b/templates/user/publickey.tmpl
index b671f63fdbd7..3b2cc1128f3e 100644
--- a/templates/user/publickey.tmpl
+++ b/templates/user/publickey.tmpl
@@ -5,7 +5,7 @@
         <h4>Account Setting</h4>
         <ul class="list-group">
             <li class="list-group-item"><a href="/user/setting">Account Profile</a></li>
-            <li class="list-group-item"><a href="/user/setting/Password">Password</a></li>
+            <li class="list-group-item"><a href="/user/setting/password">Password</a></li>
             <li class="list-group-item"><a href="/user/setting/notification">Notifications</a></li>
             <li class="list-group-item list-group-item-success"><a href="/user/setting/ssh/">SSH Keys</a></li>
             <li class="list-group-item"><a href="/user/setting/security">Security</a></li>