diff --git a/LCS/PyCommon/postgres.py b/LCS/PyCommon/postgres.py
index 5d69955236dffcfacade366fa4279a3d20cb1255..31ed16fecc2a1acc94c0547598811f094075f232 100644
--- a/LCS/PyCommon/postgres.py
+++ b/LCS/PyCommon/postgres.py
@@ -60,6 +60,13 @@ def makePostgresNotificationQueries(schema, table, action, column_name='id'):
     elif action == 'DELETE':
         select_payload = '''SELECT '{"id": ' || CAST(OLD.id AS text) || '}' INTO payload;'''
 
+    if action == 'UPDATE':
+        begin_update_check = 'IF ROW(NEW.{what}) IS DISTINCT FROM ROW(OLD.{what}) THEN'.format(what='*' if column_name == 'id' else column_name)
+        end_update_check = 'END IF;'
+    else:
+        begin_update_check = ''
+        end_update_check = ''
+
     function_sql = '''
     CREATE OR REPLACE FUNCTION {schema}{function_name}()
     RETURNS TRIGGER AS $$
@@ -79,9 +86,9 @@ def makePostgresNotificationQueries(schema, table, action, column_name='id'):
                 old_or_new=('OLD' if action == 'DELETE' else 'NEW') + '.' + column_name,
                 value='OLD' if action == 'DELETE' else 'NEW',
                 change_name=change_name.lower(),
-                begin_update_check='IF ROW(NEW.*) IS DISTINCT FROM ROW(OLD.*) THEN\n' if action == 'UPDATE' else '',
+                begin_update_check=begin_update_check,
                 select_payload=select_payload,
-                end_update_check='\nEND IF;' if action == 'UPDATE' else '')
+                end_update_check=end_update_check)
 
     trigger_name = 'T_%s' % function_name