diff --git a/conv-ttl-blo-gw b/conv-ttl-blo-gw
index adbbd31b1af412639786a8478fbeec9b78188dc2..da5914420a7d0731f6bc8e262f78148008fa936a 160000
--- a/conv-ttl-blo-gw
+++ b/conv-ttl-blo-gw
@@ -1 +1 @@
-Subproject commit adbbd31b1af412639786a8478fbeec9b78188dc2
+Subproject commit da5914420a7d0731f6bc8e262f78148008fa936a
diff --git a/software/utils/pulsegen.py b/software/utils/pulsegen.py
index 5f46d94a09960b155c1ed7d75ec4fbc15d2dd0ee..358c7b03e7937acc6b5e83c12b5f8046d2fb3259 100755
--- a/software/utils/pulsegen.py
+++ b/software/utils/pulsegen.py
@@ -52,6 +52,7 @@ class PulseGen:
     """
 
     def __init__(self, device="/dev/ttyUSB0", baud=115200):
+        self.initialized = False
         self.ser = serial.Serial(device, baud, timeout=1, rtscts=1)
 
         # generator limits
@@ -74,9 +75,10 @@ class PulseGen:
             sys.exit(2)
 
         self.reset()
+        self.initialized = True
 
     def __del__(self):
-        if self.ser is not None:
+        if self.initialized:
             # disable generator output
             self.ser.write(b'OUTP OFF\r\n')
             self.ser.close()
@@ -223,6 +225,14 @@ class PulseGen:
 ###############################################################################
 
 if __name__ == '__main__':
+    # default parameters
+    device = '/dev/ttyUSB0'
+    baud = 115200
+    count = 2000000
+    freq = 2e6 # Hz
+    width = 250e-9 # s
+    samples = 500 # number of samples for arbitrary waveform
+
     def usage():
         print('(c) CERN 2017')
         print('Maciej Suminski <maciej.suminski@cern.ch>')
@@ -239,14 +249,6 @@ if __name__ == '__main__':
         print('')
         print('-h|--help        shows this information')
 
-    # default parameters
-    device = '/dev/ttyUSB0'
-    baud = 115200
-    count = 2000000
-    freq = 2e6 # Hz
-    width = 250e-9 # s
-    samples = 500 # number of samples for arbitrary waveform
-
     print('pulsegen: Agilent 33250A pulse burst generator\r\n')
 
     # parse options
@@ -284,7 +286,16 @@ if __name__ == '__main__':
 
 
     print('Connecting to %s @ %s' % (device, baud))
-    gen = PulseGen(device, baud)
+
+    try:
+        gen = PulseGen(device, baud)
+    except serial.SerialException as err:
+        print(err.strerror)
+        sys.exit(2)
+    except:
+        print('Error occurred')
+        sys.exit(2)
+
     gen.reset()
     gen.pulse(count, freq, width, samples)
     gen.wait()