diff --git a/web/pgadmin/misc/bgprocess/processes.py b/web/pgadmin/misc/bgprocess/processes.py
index 39bb8e3..3f23a99 100644
--- a/web/pgadmin/misc/bgprocess/processes.py
+++ b/web/pgadmin/misc/bgprocess/processes.py
@@ -164,12 +164,13 @@ class BatchProcess(object):
             csv_writer.writerow(_args)
 
         args_val = args_csv_io.getvalue().strip(str('\r\n'))
+        desc_str = dumps(self.desc)
 
         j = Process(
             pid=int(id), command=_cmd,
-            arguments=args_val.decode('utf-8', 'replace') if IS_PY2 and hasattr(args_val, 'decode') \
-                else args_val,
-            logdir=log_dir, desc=dumps(self.desc), user_id=current_user.id
+            arguments=args_val.decode('utf-8', 'replace') if IS_PY2 and hasattr(args_val, 'decode') else args_val,
+            logdir=log_dir, desc=desc_str.decode('utf-8', 'ignore') if IS_PY2 and hasattr(desc_str, 'decode')
+            else desc_str, user_id=current_user.id
         )
         db.session.add(j)
         db.session.commit()
@@ -508,6 +509,7 @@ class BatchProcess(object):
             etime = parser.parse(p.end_time or get_current_time())
 
             execution_time = (etime - stime).total_seconds()
+            p.desc = p.desc.encode('utf-8', 'ignore') if IS_PY2 and hasattr(p.desc, 'decode') else p.desc
             desc = loads(p.desc)
             details = desc
 
