diff --git a/web/pgadmin/misc/bgprocess/processes.py b/web/pgadmin/misc/bgprocess/processes.py
index 02b953d..385b7bd 100644
--- a/web/pgadmin/misc/bgprocess/processes.py
+++ b/web/pgadmin/misc/bgprocess/processes.py
@@ -78,10 +78,20 @@ class BatchProcess(object):
                 _("Could not find a process with the specified ID.")
             )
 
+        try:
+            tmp_desc = loads(p.desc.encode('latin-1')) if \
+                IS_PY2 and hasattr(p.desc, 'encode') else loads(p.desc)
+        except UnicodeDecodeError:
+            tmp_desc = loads(p.desc.encode('utf-8')) if \
+                IS_PY2 and hasattr(p.desc, 'encode') else loads(p.desc)
+        except Exception as e:
+            tmp_desc = loads(p.desc.encode('utf-8', 'ignore')) if \
+                IS_PY2 and hasattr(p.desc, 'encode') else loads(p.desc)
+
         # ID
         self.id = _id
         # Description
-        self.desc = loads(p.desc)
+        self.desc = tmp_desc
         # Status Acknowledged time
         self.atime = p.acknowledge
         # Command
@@ -171,6 +181,16 @@ class BatchProcess(object):
             csv_writer.writerow(_args)
 
         args_val = args_csv_io.getvalue().strip(str('\r\n'))
+        tmp_desc = dumps(self.desc)
+        try:
+            tmp_desc =tmp_desc.decode('utf-8') if\
+                IS_PY2 and hasattr(tmp_desc, 'decode') else tmp_desc
+        except UnicodeDecodeError:
+            tmp_desc = tmp_desc.decode('latin-1') if \
+                IS_PY2 and hasattr(tmp_desc, 'decode') else tmp_desc
+        except Exception:
+            tmp_desc = tmp_desc.decode('utf-8', 'ignore') if \
+                IS_PY2 and hasattr(tmp_desc, 'decode') else tmp_desc
 
         j = Process(
             pid=int(id),
@@ -178,7 +198,7 @@ class BatchProcess(object):
             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),
+            desc=tmp_desc,
             user_id=current_user.id
         )
         db.session.add(j)
@@ -534,7 +554,17 @@ class BatchProcess(object):
             etime = parser.parse(p.end_time or get_current_time())
 
             execution_time = (etime - stime).total_seconds()
-            desc = loads(p.desc)
+            desc = ""
+            try:
+                desc = loads(p.desc.encode('latin-1')) if \
+                    IS_PY2 and hasattr(p.desc, 'encode') else loads(p.desc)
+            except UnicodeDecodeError:
+                desc = loads(p.desc.encode('utf-8')) if \
+                    IS_PY2 and hasattr(p.desc, 'encode') else loads(p.desc)
+            except Exception:
+                desc = loads(p.desc.encode('utf-8', 'ignore')) if \
+                    IS_PY2 and hasattr(p.desc, 'encode') else loads(p.desc)
+
             details = desc
 
             if isinstance(desc, IProcessDesc):
diff --git a/web/pgadmin/misc/bgprocess/static/js/bgprocess.js b/web/pgadmin/misc/bgprocess/static/js/bgprocess.js
index 5e30590..0934ae4 100644
--- a/web/pgadmin/misc/bgprocess/static/js/bgprocess.js
+++ b/web/pgadmin/misc/bgprocess/static/js/bgprocess.js
@@ -248,7 +248,7 @@ define('misc.bgprocess', [
           if (!self.notifier) {
             var header = $('<div></div>', {
                 class: 'h5 pg-bg-notify-header',
-              }).append($('<span></span>').text(self.desc)),
+              }).append($('<span></span>').text(_.unescape(self.desc))),
               content = $('<div class="pg-bg-bgprocess row"></div>').append(
                 header
               ).append(
@@ -366,7 +366,7 @@ define('misc.bgprocess', [
             self.logs[0].scrollTop = self.logs[0].scrollHeight;
           });
           // set bgprocess detailed description
-          $header.find('.bg-detailed-desc').html(self.detailed_desc);
+          $header.find('.bg-detailed-desc').html(_.unescape(self.detailed_desc));
         }
 
         // set bgprocess start time
@@ -562,4 +562,4 @@ define('misc.bgprocess', [
     });
 
   return pgBrowser.BackgroundProcessObsorver;
-});
\ No newline at end of file
+});
diff --git a/web/pgadmin/tools/backup/__init__.py b/web/pgadmin/tools/backup/__init__.py
index 715ff6e..9e70c4f 100644
--- a/web/pgadmin/tools/backup/__init__.py
+++ b/web/pgadmin/tools/backup/__init__.py
@@ -97,11 +97,9 @@ class BackupMessage(IProcessDesc):
 
         def cmdArg(x):
             if x:
-                # x = html.safe_str(x)
                 x = x.replace('\\', '\\\\')
                 x = x.replace('"', '\\"')
                 x = x.replace('""', '\\"')
-
                 return ' "' + x + '"'
             return ''
 
@@ -111,6 +109,7 @@ class BackupMessage(IProcessDesc):
             else:
                 self.cmd += cmdArg(arg)
 
+
     @property
     def message(self):
         # Fetch the server details like hostname, port, roles etc
@@ -189,7 +188,7 @@ class BackupMessage(IProcessDesc):
         res += '</div><div class="h5">'
         res += _("Running command:")
         res += '</b><br><span class="pg-bg-cmd enable-selection">'
-        res += html.safe_str(self.cmd)
+        res += html.safe_str(cmd + self.cmd)
         res += '</span></div>'
 
         return res
