diff --git a/Script/Database.py b/Script/Database.py
index 4f1fc9382391de8af3dd17a704a72bb5cb4151bc..da87861712eb240993e6bf1af0fcc9bc13cfd9f7 100755
--- a/Script/Database.py
+++ b/Script/Database.py
@@ -217,77 +217,109 @@ class Database:
         # end if,else
             
     def lbtransfer(self,parsed):
-        sql="update "+ self.lb_table + " "
-        sql+="set state='TRANSFERRED', t_stamp = :newdate "
-        sql+="where sfoid = :ssfo and runnr = :srunnr and lumiblocknr = :slbnr"
-        sql+=" and streamtype = :sstreamt and stream = :sstreamn "
-        sql+=" and state = 'CLOSED'"        
-        args=[]
+
         keys={}
-        keys['newdate']=datetime.datetime.utcfromtimestamp(time.time())
         keys['ssfo']=parsed.AppId()
         keys['srunnr']=parsed.RunNr()
         keys['slbnr']=parsed.LBNr()
         keys['sstreamt']=parsed.StreamType()
         keys['sstreamn']=parsed.StreamName()
-        args.insert(0,sql)
-        nrow = self.db.execute(args,keys)
-        if nrow != 1:
-            logInfo = {'file':self.logger.findCaller()[0],
-                       'line':self.logger.findCaller()[1]}
-            self.logger.error('Not exactly one entry updated in '+
-                              'lumiblock table for SFO ' + str(parsed.AppId())+
-                              ', run ' + str(parsed.RunNr()) +
-                              ', lumiblock ' + str(parsed.LBNr()) +
-                              ', stream type ' + str(parsed.StreamType()) +
-                              ', stream name ' + str(parsed.StreamName()),
-                              extra = logInfo)
-        else:
-            logInfo = {'file':self.logger.findCaller()[0],
-                       'line':self.logger.findCaller()[1]}
-            self.logger.debug('Lumiblock table. Lumiblock state updated '+
-                              'to TRANSFERRED for SFO ' + str(parsed.AppId()) +
-                              ', run ' + str(parsed.RunNr()) +
-                              ', lumiblock ' + str(parsed.LBNr()) +
-                              ', stream type ' + str(parsed.StreamType()) +
-                              ', stream name ' + str(parsed.StreamName()),
-                              extra = logInfo)
-        # end if,else
+
+        sql="select state from " + self.lb_table + " "
+        sql+="where sfoid = :ssfo and runnr = :srunnr and lumiblocknr = :slbnr"
+        sql+=" and streamtype = :sstreamt and stream = :sstreamn"
+
+        args = [sql,]
+        self.db.execute(args,keys)
+        state = self.db.getNextRow()[0]
+
+        if state == 'CLOSED':
+            sql="update "+ self.lb_table + " "
+            sql+="set state='TRANSFERRED', t_stamp = :newdate "
+            sql+="where sfoid = :ssfo and runnr = :srunnr "
+            sql+=" and lumiblocknr = :slbnr"
+            sql+=" and streamtype = :sstreamt and stream = :sstreamn "
+            sql+=" and state = 'CLOSED'"        
+        
+            keys['newdate']=datetime.datetime.utcfromtimestamp(time.time())
+
+            args = [sql,]
+            nrow = self.db.execute(args,keys)
+
+            if nrow != 1:
+                logInfo = {'file':self.logger.findCaller()[0],
+                           'line':self.logger.findCaller()[1]}
+                self.logger.error('Not exactly one entry updated in '+
+                                  'lumiblock table for SFO '
+                                  + str(parsed.AppId())+
+                                  ', run ' + str(parsed.RunNr()) +
+                                  ', lumiblock ' + str(parsed.LBNr()) +
+                                  ', stream type ' + str(parsed.StreamType()) +
+                                  ', stream name ' + str(parsed.StreamName()),
+                                  extra = logInfo)
+            else:
+                logInfo = {'file':self.logger.findCaller()[0],
+                           'line':self.logger.findCaller()[1]}
+                self.logger.debug('Lumiblock table. Lumiblock state updated '+
+                                  'to TRANSFERRED for SFO '
+                                  + str(parsed.AppId()) +
+                                  ', run ' + str(parsed.RunNr()) +
+                                  ', lumiblock ' + str(parsed.LBNr()) +
+                                  ', stream type ' + str(parsed.StreamType()) +
+                                  ', stream name ' + str(parsed.StreamName()),
+                                  extra = logInfo)
+            # end if,else
 
     def runtransfer(self,parsed):
-        sql="update "+ self.run_table + " "
-        sql+="set state='TRANSFERRED', t_stamp = :newdate "
-        sql+="where sfoid = :ssfo and runnr = :srunnr "
-        sql+=" and streamtype = :sstreamt and stream = :sstreamn "
-        sql+=" and state = 'CLOSED'"
-        args=[]
+
         keys={}
-        keys['newdate']=datetime.datetime.utcfromtimestamp(time.time())
         keys['ssfo']=parsed.AppId()
         keys['srunnr']=parsed.RunNr()
         keys['sstreamt']=parsed.StreamType()
         keys['sstreamn']=parsed.StreamName()
-        args.insert(0,sql)
-        nrow = self.db.execute(args,keys)
-        if nrow != 1:
-            logInfo = {'file':self.logger.findCaller()[0],
-                       'line':self.logger.findCaller()[1]}
-            self.logger.error('Not exactly one entry updated in run table ' +
-                              'for SFO ' + str(parsed.AppId()) +
-                              ', run ' + str(parsed.RunNr()) +
-                              ', stream type ' + str(parsed.StreamType()) +
-                              ', stream name ' + str(parsed.StreamName()),
-                              extra = logInfo)
-        else:
-            logInfo = {'file':self.logger.findCaller()[0],
-                       'line':self.logger.findCaller()[1]}
-            self.logger.debug('Run table. Run state updated to TRANSFERRED ' +
-                              'for SFO ' + str(parsed.AppId()) +
-                              ', run ' + str(parsed.RunNr()) +
-                              ', stream type ' + str(parsed.StreamType()) +
-                              ', stream name ' + str(parsed.StreamName()),
-                              extra = logInfo)
-        # end if,else
+
+        sql="select state from "+ self.run_table + " "
+        sql+="where sfoid = :ssfo and runnr = :srunnr "
+        sql+=" and streamtype = :sstreamt and stream = :sstreamn "
+
+        args=[sql,]
+        self.db.execute(args,keys)
+        state = self.db.getNextRow()[0]
+
+        if state == 'CLOSED':
+
+            sql="update "+ self.run_table + " "
+            sql+="set state='TRANSFERRED', t_stamp = :newdate "
+            sql+="where sfoid = :ssfo and runnr = :srunnr "
+            sql+=" and streamtype = :sstreamt and stream = :sstreamn "
+            sql+=" and state = 'CLOSED'"
+        
+        
+            keys['newdate']=datetime.datetime.utcfromtimestamp(time.time())
+            
+            args = [sql,]
+            nrow = self.db.execute(args,keys)
+            if nrow != 1:
+                logInfo = {'file':self.logger.findCaller()[0],
+                           'line':self.logger.findCaller()[1]}
+                self.logger.error('Not exactly one entry updated'
+                                  ' in run table '+
+                                  'for SFO ' + str(parsed.AppId()) +
+                                  ', run ' + str(parsed.RunNr()) +
+                                  ', stream type ' + str(parsed.StreamType()) +
+                                  ', stream name ' + str(parsed.StreamName()),
+                                  extra = logInfo)
+            else:
+                logInfo = {'file':self.logger.findCaller()[0],
+                           'line':self.logger.findCaller()[1]}
+                self.logger.debug('Run table. Run state updated '
+                                  + 'to TRANSFERRED ' +
+                                  'for SFO ' + str(parsed.AppId()) +
+                                  ', run ' + str(parsed.RunNr()) +
+                                  ', stream type ' + str(parsed.StreamType()) +
+                                  ', stream name ' + str(parsed.StreamName()),
+                                  extra = logInfo)
+            # end if,else
 
 
     def notTransFiles(self,parsed):