[#5383] record label changelog when labels are removed
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index 97c1982..b4c914b 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -299,6 +299,7 @@ def test_ticket_label_unlabel(self):
         response = self.app.get('/bugs/1/')
         assert_true('yellow' in response)
         assert_true(u'greén' in response)
+        assert_true('<li><strong>labels</strong>:  --&gt; yellow, greén</li>' in response)
         self.app.post('/bugs/1/update_ticket',{
             'summary':'zzz',
             'description':'bbb',
@@ -310,8 +311,18 @@ def test_ticket_label_unlabel(self):
         })
         response = self.app.get('/bugs/1/')
         assert_true('yellow' in response)
-        # the following assert is no longer true since "green" is shown in changelog
-        # assert_true('green' not in response)
+        assert_true('<li><strong>labels</strong>: yellow, greén --&gt; yellow</li>' in response)
+        self.app.post('/bugs/1/update_ticket',{
+            'summary':'zzz',
+            'description':'bbb',
+            'status':'ccc',
+            '_milestone':'',
+            'assigned_to':'',
+            'labels':'',
+            'comment': ''
+        })
+        response = self.app.get('/bugs/1/')
+        assert_true('<li><strong>labels</strong>: yellow --&gt; </li>' in response)
 
     def test_new_attachment(self):
         file_name = 'test_root.py'
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index c329c28..bbf4e44 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -1100,10 +1100,9 @@ def _update_ticket(self, post_data):
         changes = changelog()
         comment = post_data.pop('comment', None)
         labels = post_data.pop('labels', None) or []
-        if labels:
-            changes['labels'] = self.ticket.labels
-            changes['labels'] = labels
+        changes['labels'] = self.ticket.labels
         self.ticket.labels = labels
+        changes['labels'] = self.ticket.labels
         for k in ['summary', 'description', 'status']:
             changes[k] = getattr(self.ticket, k)
             setattr(self.ticket, k, post_data.pop(k, ''))