diff --git a/beat/core/bcp/worker.py b/beat/core/bcp/worker.py
index 2ec25c5f53a89718c30a8438371fa3e5a1415a02..b0745646b05ebafae91c7af56ce88f5f0ee31a94 100644
--- a/beat/core/bcp/worker.py
+++ b/beat/core/bcp/worker.py
@@ -183,6 +183,8 @@ def run(
             if command == BCP.BCPE_EXECUTE:
                 job_id = request.pop(0)
                 job_data = request.pop(0)
+                if sys.version_info < (3, 6):
+                    job_data = job_data.decode("utf-8")
                 data = json.loads(job_data)
 
                 reply = [BCP.BCPP_JOB_RECEIVED, job_id]