diff --git a/openpower/configs/hostboot/zaius.config b/openpower/configs/hostboot/zaius.config
index 2488b15..1ed4615 100755
--- a/openpower/configs/hostboot/zaius.config
+++ b/openpower/configs/hostboot/zaius.config
@@ -11,8 +11,8 @@
 set MVPD_WRITE_TO_HW
 set MVPD_READ_FROM_PNOR
 set MVPD_WRITE_TO_PNOR
-unset DJVPD_READ_FROM_HW
-unset DJVPD_WRITE_TO_HW
+set DJVPD_READ_FROM_HW
+set DJVPD_WRITE_TO_HW
 set DJVPD_READ_FROM_PNOR
 set DJVPD_WRITE_TO_PNOR
 unset MEMVPD_READ_FROM_HW
@@ -21,8 +21,8 @@
 set MEMVPD_WRITE_TO_PNOR
 unset PVPD_READ_FROM_HW
 unset PVPD_WRITE_TO_HW
-unset PVPD_READ_FROM_PNOR
-unset PVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
 unset CDIMM_FORMAT_FOR_CVPD
 
 # gpio config
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0008-Add-Hacked-values-for-VPD-attributes.patch b/openpower/package/hostboot/p9Patches/hostboot-0008-Add-Hacked-values-for-VPD-attributes.patch
deleted file mode 100644
index 29d2444..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0008-Add-Hacked-values-for-VPD-attributes.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 85b90b1ceae68b9f473a12b652bdaf2c8d78a007 Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Wed, 7 Dec 2016 10:44:25 -0600
-Subject: [PATCH 4/4] Add Hacked values for VPD attributes
-
-Change-Id: Ida797dba646f0110637521daf27dfeea0f730959
----
- src/usr/targeting/common/Targets.pm    | 14 ++++++++
- src/usr/targeting/common/processMrw.pl | 61 ++++++++++++++++++++++++++++++++++
- 2 files changed, 75 insertions(+)
-
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index 42780dd..25fe0cb 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -1655,6 +1655,20 @@ sub getAttributeField
- }
- 
- ## returns an attribute from a bus
-+sub setBusAttribute
-+{
-+    my $self       = shift;
-+    my $target     = shift;
-+    my $busnum     = shift;
-+    my $attr       = shift;
-+    my $value      = shift;
-+    my $target_ptr = $self->getTarget($target);
-+    $target_ptr->{CONNECTION}->{BUS}->[$busnum]->{bus_attribute}->{$attr}->{default}
-+        = $value;
-+    $self->log($target, "Setting Attribute (BusNum=$busnum): $attr=$value");
-+}
-+
-+## returns an attribute from a bus
- sub getBusAttribute
- {
-     my $self       = shift;
-diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
-index 312582d..bfe33a4 100644
---- a/src/usr/targeting/common/processMrw.pl
-+++ b/src/usr/targeting/common/processMrw.pl
-@@ -538,6 +538,7 @@ sub processProcessor
-     $targetObj->setAttributeField($target, "SCOM_SWITCHES", "useXscom", "0");
- 
-     processMembufVpdAssociation($targetObj,$target);
-+    processNodeVpd($targetObj, $target);
-     setupBars($targetObj,$target);
- }
- 
-@@ -1110,10 +1111,70 @@ sub processOcc
-     $targetObj->setAttribute($target,"OCC_MASTER_CAPABLE",$master_capable);
- }
- 
-+#@FIXME: This is just a hack to get the witherspoon xml to compile
-+sub processNodeVpd
-+{
-+    my $targetObj = shift;
-+    my $target    = shift; #proc target
-+    my $name      = "EEPROM_VPD_PRIMARY_INFO";
-+    foreach my $child (@{$targetObj->getTargetChildren($target)})
-+    {
-+        if ($targetObj->getType($child) eq "MCBIST")
-+        {
-+            foreach my $mcs (@{$targetObj->getTargetChildren($child)})
-+            {
-+                if ($targetObj->getType($mcs) eq "MCS")
-+                {
-+                    my $path            = "physical:sys-0/node-0";
-+                    my $port            = 0x02;
-+                    my $addr            = 0xE0;
-+                    my $engine          = 1;
-+                    my $offset          = 0x01;
-+                    my $mem             = 0x01;
-+                    my $count           = 2;
-+                    my $page            = 0x50;
-+                    my $cycle           = 0x05;
-+                    $targetObj->setAttributeField($mcs, $name, "i2cMasterPath", $path);
-+                    $targetObj->setAttributeField($mcs, $name, "port", $port);
-+                    $targetObj->setAttributeField($mcs, $name, "devAddr", $addr);
-+                    $targetObj->setAttributeField($mcs, $name, "engine", $engine);
-+                    $targetObj->setAttributeField($mcs, $name, "byteAddrOffset", $offset);
-+                    $targetObj->setAttributeField($mcs, $name, "maxMemorySizeKB", $mem);
-+                    $targetObj->setAttributeField($mcs, $name, "chipCount", $count);
-+                    $targetObj->setAttributeField($mcs, $name, "writePageSize", $page);
-+                    $targetObj->setAttributeField($mcs, $name, "writeCycleTime", $cycle);
-+                }
-+
-+            }
-+        }
-+    }
-+
-+}
-+
- sub processMembufVpdAssociation
- {
-     my $targetObj = shift;
-     my $target    = shift;
-+    my $dimms=$targetObj->findConnections($target,"I2C","SPD");
-+    if ($dimms ne "") {
-+        foreach my $dimm (@{$dimms->{CONN}}) {
-+            my $dimm_target = $targetObj->getTargetParent($dimm->{DEST_PARENT});
-+
-+            #@FIXME: hacked value for now
-+            my $addr = $targetObj->setBusAttribute($dimm->{SOURCE},
-+                    $dimm->{BUS_NUM}, "I2C_ADDRESS", 0xE0);
-+
-+            setEepromAttributes($targetObj,
-+                       "EEPROM_VPD_PRIMARY_INFO",$dimm_target,
-+                       $dimm);
-+            my $i2cMasterPath = $targetObj->getAttributeField($dimm_target,
-+                "EEPROM_VPD_PRIMARY_INFO", "i2cMasterPath");
-+
-+            $targetObj->setAttributeField($dimm_target,"TEMP_SENSOR_I2C_CONFIG",
-+                "i2cMasterPath", $i2cMasterPath);
-+        }
-+    }
-+
-     my $vpds=$targetObj->findConnections($target,"I2C","VPD");
-     if ($vpds ne "" ) {
-         my $vpd = $vpds->{CONN}->[0];
--- 
-1.8.2.2
-
