diff --git a/cper-parse.c b/cper-parse.c
index ccd863f..2cfe71c 100644
--- a/cper-parse.c
+++ b/cper-parse.c
@@ -116,6 +116,7 @@
 			cper_buf + section_descriptor->SectionOffset;
 		json_object *section_descriptor_ir =
 			cper_section_descriptor_to_ir(section_descriptor);
+
 		json_object_array_add(section_descriptors_ir,
 				      section_descriptor_ir);
 
@@ -123,10 +124,6 @@
 		json_object *section_ir = cper_buf_section_to_ir(
 			section_begin, section_descriptor->SectionLength,
 			section_descriptor);
-		if (section_ir == NULL) {
-			cper_print_log("Failed to parse section %d\n", i);
-			section_ir = json_object_new_object();
-		}
 		json_object_array_add(sections_ir, section_ir);
 	}
 
diff --git a/sections/cper-section-ia32x64.c b/sections/cper-section-ia32x64.c
index 2206d2a..85f03a4 100644
--- a/sections/cper-section-ia32x64.c
+++ b/sections/cper-section-ia32x64.c
@@ -134,9 +134,6 @@
 			cper_ia32x64_processor_context_info_to_ir(
 				current_context_info, &cur_pos,
 				&remaining_size);
-		if (context_info == NULL) {
-			context_info = json_object_new_object();
-		}
 		json_object_array_add(context_info_array, context_info);
 		current_context_info =
 			(EFI_IA32_X64_PROCESSOR_CONTEXT_INFO *)cur_pos;
@@ -221,9 +218,10 @@
 				"WARN: Invalid/unknown check information GUID found in IA32/x64 CPER section. Ignoring.\n");
 			break;
 		}
-
-		json_object_object_add(error_info_ir, "checkInfo",
-				       check_information);
+		if (check_information != NULL) {
+			json_object_object_add(error_info_ir, "checkInfo",
+					       check_information);
+		}
 	}
 
 	//Target, requestor, and responder identifiers.
@@ -470,12 +468,11 @@
 	EFI_IA32_X64_PROCESSOR_CONTEXT_INFO *context_info, void **cur_pos,
 	UINT32 *remaining_size)
 {
-	json_object *context_info_ir = json_object_new_object();
-
 	if (*remaining_size < sizeof(EFI_IA32_X64_PROCESSOR_CONTEXT_INFO)) {
-		return context_info_ir;
+		return NULL;
 	}
 	*remaining_size -= sizeof(EFI_IA32_X64_PROCESSOR_CONTEXT_INFO);
+	json_object *context_info_ir = json_object_new_object();
 
 	//Register context type.
 	json_object *context_type = integer_to_readable_pair(
@@ -542,8 +539,10 @@
 			(void *)(((char *)*cur_pos) + context_info->ArraySize);
 		*remaining_size -= context_info->ArraySize;
 	}
-	json_object_object_add(context_info_ir, "registerArray",
-			       register_array);
+	if (register_array != NULL) {
+		json_object_object_add(context_info_ir, "registerArray",
+				       register_array);
+	}
 
 	return context_info_ir;
 }
