diff --git a/scp/tickets.php b/scp/tickets.php
index 455cbb41ae71df41ce49a9aa1f61ea913915b5b9..1058b80d95f67fed03e39c191292f76e5c8b2774 100644
--- a/scp/tickets.php
+++ b/scp/tickets.php
@@ -167,23 +167,25 @@ if($_POST && !$errors):
                     $errors['state'] = "You don't have permission to set the state";
             }
 
-            $wasOpen = ($ticket->isOpen());
-
             $vars = $_POST;
             if($_FILES['attachments'])
                 $vars['files'] = AttachmentFile::format($_FILES['attachments']);
 
+            $wasOpen = ($ticket->isOpen());
             if(($note=$ticket->postNote($vars, $errors, $thisstaff))) {
 
+                // Cleanup drafts for the ticket. If not closed, only clean
+                // note drafts for this staff. Else clean all drafts for the ticket.
+                Draft::deleteForNamespace(
+                        sprintf('ticket.%s.%d',
+                              $ticket->isClosed() ? '%' : 'note',
+                              $ticket->getId()),
+                        $ticket->isOpen() ? $thisstaff->getId() : false);
+
                 $msg='Internal note posted successfully';
                 if($wasOpen && $ticket->isClosed())
                     $ticket = null; //Going back to main listing.
 
-                // Cleanup drafts for the ticket. If not closed, only clean
-                // for this staff. Else clean all drafts for the ticket.
-                Draft::deleteForNamespace('ticket.%.' . $ticket->getId(),
-                    $ticket->isClosed() ? false : $thisstaff->getId());
-
             } else {
 
                 if(!$errors['err'])