Index: admin/scripts/answers.js
===================================================================
--- admin/scripts/answers.js	(revision 9945)
+++ admin/scripts/answers.js	(working copy)
@@ -198,6 +198,8 @@
              $(this).addClass('highlight');
          }
          $(this).addClass('row_'+rownumber);
+         $(this).find('.oldcode').attr('id','oldcode_'+rownumber+'_'+scale_id);
+         $(this).find('.oldcode').attr('name','oldcode_'+rownumber+'_'+scale_id);
          $(this).find('.code').attr('id','code_'+rownumber+'_'+scale_id);
          $(this).find('.code').attr('name','code_'+rownumber+'_'+scale_id);
          $(this).find('.answer').attr('id','answer_'+language+'_'+rownumber+'_'+scale_id);
Index: admin/database.php
===================================================================
--- admin/database.php	(revision 9945)
+++ admin/database.php	(working copy)
@@ -851,6 +851,7 @@
             $maxcount=(int)$_POST['answercount_'.$scale_id];
             for ($sortorderid=1;$sortorderid<$maxcount;$sortorderid++)
             {
+                $oldcode=sanitize_paranoid_string($_POST['oldcode_'.$sortorderid.'_'.$scale_id]);
                 $code=sanitize_paranoid_string($_POST['code_'.$sortorderid.'_'.$scale_id]);
                 $assessmentvalue=(int) $_POST['assessment_'.$sortorderid.'_'.$scale_id];
                 foreach ($alllanguages as $language)
@@ -882,6 +883,12 @@
                         $databaseoutput .= "<script type=\"text/javascript\">\n<!--\n alert(\"".$clang->gT("Failed to update answers","js")." - ".$query." - ".$connect->ErrorMsg()."\")\n //-->\n</script>\n";
                     }
                 } // foreach ($alllanguages as $language)
+
+                if($code !== $oldcode) {
+                    $query='UPDATE '.db_table_name('conditions').' SET value='.db_quoteall($code).' WHERE cqid='.db_quote($qid).' AND value='.db_quoteall($oldcode);
+                    $connect->execute($query);
+                }
+
             }  // for ($sortorderid=0;$sortorderid<$maxcount;$sortorderid++)
         }  //  for ($scale_id=0;

Index: admin/editansweroptions.php
===================================================================
--- admin/editansweroptions.php	(revision 9945)
+++ admin/editansweroptions.php	(working copy)
@@ -177,7 +177,7 @@
 
                 if ($first)
                 {
-                    $vasummary .= "<img class='handle' src='$imageurl/handle.png' /></td><td><input type='text' class='code' id='code_{$position}_{$scale_id}' name='code_{$position}_{$scale_id}' value=\"{$row['code']}\" maxlength='5' size='5'"
+                    $vasummary .= "<img class='handle' src='$imageurl/handle.png' /></td><td><input type='hidden' class='oldcode' id='oldcode_{$position}_{$scale_id}' name='oldcode_{$position}_{$scale_id}' value=\"{$row['code']}\" /><input type='text' class='code' id='code_{$position}_{$scale_id}' name='code_{$position}_{$scale_id}' value=\"{$row['code']}\" maxlength='5' size='5'"
                     ." onkeypress=\"return goodchars(event,'1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ_')\""
                     ." />";
                 }
@@ -188,7 +188,7 @@
                 }
 
                 $vasummary .= "</td>\n"
                 ."<td\n";
 
                 if ($assessmentvisible && $first)
                 {