Any way to clean this up?

I have the following action, which demonstrates how I’m using my repositories and how I reparent my forums to another forum. It’s kind of fugly though, if you know what I mean. Is there any way you can see to clean it up?

[HttpPost, ValidateAntiForgeryToken]
public ActionResult Edit(ForumEditModel model)
{
    // skipping validation for now
    if (!ModelState.IsValid) return View(model);
    // grab the forum from model.Id
    var forum = forumRepository.SelectById(model.Id);
    // update properties (some will be protected set later)
    forum.Sequence = model.Sequence;
    forum.Title = model.Title;
    forum.Description = model.Description;
    forum.Moderated = model.Moderated;
    forum.Enabled = model.Enabled;
    forum.Visible = model.Visible;
    // grab both current and future parents
    var currentParent = forumRepository.SelectParentOf(forum);
    var futureParent = model.ForumId.HasValue ? forumRepository.SelectById(model.ForumId.Value) : null;
    if (currentParent != futureParent)
    { // changing parents
        if (futureParent == null)
        { // then currentParent is not null - remove
            currentParent.RemoveForum(forum);
            forumRepository.Update(currentParent);
        }
        else
        { // then futureParent is not null - add
            futureParent.AddForum(forum);
            forumRepository.Update(futureParent);
        }
    }
    else // not changing parents - update
        forumRepository.Update(forum);
    return RedirectToAction("Manager");
}