diff --git a/homu/parse_issue_comment.py b/homu/parse_issue_comment.py
index ce64c1b..108fbcb 100644
--- a/homu/parse_issue_comment.py
+++ b/homu/parse_issue_comment.py
@@ -158,7 +158,7 @@ def parse_issue_comment(username, body, sha, botname, hooks=[]):
                      re.findall(r'\S+', re.sub(botname_regex, '', x))
                  for x
                  in body.splitlines()
-                 if '@' + botname in x))  # noqa
+                 if '@' + botname in x and not x.lstrip().startswith('>')))  # noqa
 
     commands = []
 
diff --git a/homu/server.py b/homu/server.py
index e383117..ce40fd3 100644
--- a/homu/server.py
+++ b/homu/server.py
@@ -574,6 +574,7 @@ def github():
                 state.save()
 
     elif event_type == 'issue_comment':
+        action = info['action']
         body = info['comment']['body']
         username = info['comment']['user']['login']
         user_id = info['comment']['user']['id']
@@ -581,7 +582,7 @@ def github():
 
         state = g.states[repo_label].get(pull_num)
 
-        if 'pull_request' in info['issue'] and state:
+        if action == 'created' and 'pull_request' in info['issue'] and state:
             state.title = info['issue']['title']
             state.body = info['issue']['body']
 

diff --git a/homu/tests/test_parse_issue_comment.py b/homu/tests/test_parse_issue_comment.py
index 34da29f..71a1468 100644
--- a/homu/tests/test_parse_issue_comment.py
+++ b/homu/tests/test_parse_issue_comment.py
@@ -604,3 +604,18 @@ def test_ignore_commands_after_bors_line():
     command = commands[0]
     assert command.action == 'approve'
     assert command.actor == 'jack'
+
+
+def test_in_quote():
+    """
+    Test that a command in a quote (e.g. when replying by e-mail) doesn't
+    trigger.
+    """
+
+    author = "jack"
+    body = """
+    > @bors r+
+    """
+    commands = parse_issue_comment(author, body, commit, "bors")
+
+    assert len(commands) == 0

Ignore commands in quotes
There is another edge case in homu command handling: when an user replies to a comment via email by default the parent command is quoted, and the old parser code tried to handle it. We should ignore commands when the line starts with `>`, to hopefully catch quoted emails, or if the new parser already handles this a test should be added.

Example: https://github.com/rust-lang/rust/pull/61540#issuecomment-504549595
homu/tests/test_parse_issue_comment.py::test_in_quote
homu/tests/test_parse_issue_comment.py::test_r_plus homu/tests/test_parse_issue_comment.py::test_r_plus_with_colon homu/tests/test_parse_issue_comment.py::test_r_plus_with_sha homu/tests/test_parse_issue_comment.py::test_r_equals homu/tests/test_parse_issue_comment.py::test_r_equals_at_user homu/tests/test_parse_issue_comment.py::test_hidden_r_equals homu/tests/test_parse_issue_comment.py::test_r_me homu/tests/test_parse_issue_comment.py::test_r_minus homu/tests/test_parse_issue_comment.py::test_priority homu/tests/test_parse_issue_comment.py::test_approve_and_priority homu/tests/test_parse_issue_comment.py::test_approve_specific_and_priority homu/tests/test_parse_issue_comment.py::test_delegate_plus homu/tests/test_parse_issue_comment.py::test_delegate_equals homu/tests/test_parse_issue_comment.py::test_delegate_minus homu/tests/test_parse_issue_comment.py::test_retry homu/tests/test_parse_issue_comment.py::test_try homu/tests/test_parse_issue_comment.py::test_try_minus homu/tests/test_parse_issue_comment.py::test_rollup homu/tests/test_parse_issue_comment.py::test_rollup_minus homu/tests/test_parse_issue_comment.py::test_rollup_iffy homu/tests/test_parse_issue_comment.py::test_rollup_never homu/tests/test_parse_issue_comment.py::test_rollup_maybe homu/tests/test_parse_issue_comment.py::test_rollup_always homu/tests/test_parse_issue_comment.py::test_force homu/tests/test_parse_issue_comment.py::test_clean homu/tests/test_parse_issue_comment.py::test_ping homu/tests/test_parse_issue_comment.py::test_hello homu/tests/test_parse_issue_comment.py::test_portal_ping homu/tests/test_parse_issue_comment.py::test_treeclosed homu/tests/test_parse_issue_comment.py::test_treeclosed_minus homu/tests/test_parse_issue_comment.py::test_hook homu/tests/test_parse_issue_comment.py::test_hook_equals homu/tests/test_parse_issue_comment.py::test_multiple_hooks homu/tests/test_parse_issue_comment.py::test_similar_name homu/tests/test_parse_issue_comment.py::test_parse_up_to_first_unknown_word homu/tests/test_parse_issue_comment.py::test_ignore_commands_before_bors_line homu/tests/test_parse_issue_comment.py::test_ignore_commands_after_bors_line