diff --git a/git-recent-branches b/git-recent-branches
index 0d858ed..6cc0555 100755
--- a/git-recent-branches
+++ b/git-recent-branches
@@ -4,7 +4,7 @@ branch_limit = 10 if branch_limit == 0
 
 show_current_branch = (`git config --get recent.showcurrent 2>/dev/null`.to_i == 1) ? true : false
 current_branch = `git rev-parse --abbrev-ref HEAD 2>/dev/null`.chomp
-all_branches = `git reflog 2>/dev/null | \\grep -Pio "moving from ([^\\s]+)" | \\awk '{ print $3 }' | \\grep -Piv "[0-9a-f]{40}"`.split("\n")
+all_branches = `git reflog 2>/dev/null | \\grep -Eio "moving from ([^\\s]+)$" | \\awk '{ print $3 }' | \\grep -Eiv "[0-9a-f]{40}"`.split("\n")
 
 if all_branches.length == 0
   puts "No recently viewed branches"
@@ -37,7 +37,7 @@ recent_branches.each do |branch_name|
   last_commit_message = last_commit_message.lines.first.gsub("\n", "") unless last_commit_message == ""
   longest_commit_message_length = last_commit_message.length unless last_commit_message.length <= longest_commit_message_length
   longest_branch_name_length = branch_name.length unless branch_name.length <= longest_branch_name_length
-  recent_branch_list << { :number => number, :branch_name => branch_name, :commit_msg => last_commit_message }
+  recent_branch_list << { :number => number, :branch_name => branch_name.strip, :commit_msg => last_commit_message.strip }
   number += 1
 end