--- updatedb_helper.php.orig	2014-02-06 14:17:19.000000000 +0100
+++ updatedb_helper.php	2014-02-06 15:04:08.000000000 +0100
@@ -502,7 +502,9 @@
 
             alterColumn('{{groups}}','group_name',"{$sVarchar}(100)",false , '');
             alterColumn('{{labels}}','code',"{$sVarchar}(5)",false , '');
+	    dropPrimaryKey('labels');
             alterColumn('{{labels}}','language',"{$sVarchar}(20)",false , 'en');
+	    addPrimaryKey('labels', array('lid', 'sortorder', 'language'));
             alterColumn('{{labelsets}}','label_name',"{$sVarchar}(100)",false , '');
             alterColumn('{{questions}}','parent_qid','integer',false ,'0');
             alterColumn('{{questions}}','title',"{$sVarchar}(20)",false , '');
@@ -572,11 +574,13 @@
             alterColumn('{{users}}','htmleditormode',"{$sVarchar}(7)",true,'default');
             alterColumn('{{users}}','dateformat','integer',false , 1);
             try{
+		setTransactionBookmark();
                 $oDB->createCommand()->dropIndex('email','{{users}}');
             }
             catch(Exception $e)
             {
                 // do nothing
+		 rollBackToTransactionBookmark();
             }
 
             $oDB->createCommand()->update('{{user_groups}}',array('name'=>''),"name is NULL");
@@ -892,6 +896,7 @@
             alterColumn('{{users}}','parent_id','integer',false);
             try { setTransactionBookmark(); alterColumn('{{surveys_languagesettings}}','surveyls_survey_id',"integer",false); } catch(Exception $e) { rollBackToTransactionBookmark(); }
             alterColumn('{{user_groups}}','owner_id',"integer",false);
+	    dropPrimaryKey('user_in_groups');
             alterColumn('{{user_in_groups}}','ugid',"integer",false);
             alterColumn('{{user_in_groups}}','uid',"integer",false);
 
