diff --git a/src/codegen_json_bson/__init__.py b/src/codegen_json_bson/__init__.py
index 75dabd892ebe369d1d55bd7b0411bb785de0c8a4..8a6ce62bb2020fa3b3b925a2ef6c13d4e6c9ff0f 100644
--- a/src/codegen_json_bson/__init__.py
+++ b/src/codegen_json_bson/__init__.py
@@ -437,7 +437,9 @@ def field_assignment_get_json_value(field, ty, fieldtype, name):
     if ty == "bytes":
         res = ""
         res += f'// {ty} {field} {fieldtype} {name}\n'
-        if name == "CVLImage" or name == "CompressedImage":
+        if name == "CompressedImage":
+            res += f'  res["{field}"] = macaron::Base64::Encode(msg.{field});\n'
+        if name == "CVLImage":
             res += "  Json::Value binobj;\n"
             res += f'  binobj["__bin__"] = macaron::Base64::Encode(msg.{field});\n'
             res += f'  res["{field}"] = binobj;'
@@ -471,7 +473,7 @@ def field_assignment_parse_json_value(field, ty, fieldtype, name):
         return f'msg.{field} = ros::Duration(m["{field}"].asDouble());'
     if ty == "bytes":
         res = f'// {ty} {field} - {fieldtype} - {name}\n'
-        if name == "CVLImage" or name == "CompressedImage":
+        if name == "CVLImage":
             res += "  std::string out;\n"
             res += f'  std::string res = macaron::Base64::Decode(m["{field}"]["__bin__"].asString(), out);\n'
             res += "  if (res != \"\") {\n"
@@ -481,6 +483,16 @@ def field_assignment_parse_json_value(field, ty, fieldtype, name):
             res += "  for (unsigned int i=0; i<out.size(); i++) {\n"
             res += f'    msg.{field}.push_back(out[i]);\n'
             res += "  }"
+        if name == "CompressedImage":
+            res += "  std::string out;\n"
+            res += f'  std::string res = macaron::Base64::Decode(m["{field}"].asString(), out);\n'
+            res += "  if (res != \"\") {\n"
+            res += "    ROS_ERROR(\"FAILED TO DECODE CVL IMAGE Base64 Data: %s\", res.c_str());\n"
+            res += "    return false;\n"
+            res += "  }\n"
+            res += "  for (unsigned int i=0; i<out.size(); i++) {\n"
+            res += f'    msg.{field}.push_back(out[i]);\n'
+            res += "  }"
         return res
     listprefix = ""
     gen_for_list = True