diff --git a/client/site_tests/factory_VPD/factory_VPD.py b/client/site_tests/factory_VPD/factory_VPD.py
index 8d587ca..fbe9486 100644
--- a/client/site_tests/factory_VPD/factory_VPD.py
+++ b/client/site_tests/factory_VPD/factory_VPD.py
@@ -5,6 +5,7 @@
 import os
 import serial_task
 import region_task
+import registration_codes
 
 from autotest_lib.client.bin import test
 from autotest_lib.client.common_lib import error, utils
@@ -27,7 +28,7 @@
         mask_keys = ['ubind_attribute', 'gbind_attribute']
         disp_dict = {'ro':{}, 'rw':{}}
 
-        for vpd_type in disp_dict:
+        for vpd_type in ('ro', 'rw'):
             for key in self.vpd[vpd_type]:
                 if key in mask_keys:
                     disp_dict[vpd_type][key] = '********'
@@ -67,8 +68,11 @@
         vpd = self.vpd
         vpd_list = []
         for vpd_type in ('ro', 'rw'):
-            vpd_list += ['%s: %s = %s' % (vpd_type, key, vpd[vpd_type][key])
-                         for key in sorted(vpd[vpd_type])]
+            for key in sorted(vpd[vpd_type]):
+                vpd_list += ['%s: %s = %s' %
+                             (vpd_type, key, vpd[vpd_type][key])]
+                if key in ['ubind_attribute', 'gbind_attribute']:
+                    registration_codes.CheckRegistrationCode(vpd[vpd_type][key])
 
         self.add_widget(ui.make_label("%s\n%s" % (_MESSAGE_WRITING,
                                                   '\n'.join(vpd_list))))
diff --git a/client/site_tests/factory_VPD/registration_codes.py b/client/site_tests/factory_VPD/registration_codes.py
new file mode 100644
index 0000000..4d48d70
--- /dev/null
+++ b/client/site_tests/factory_VPD/registration_codes.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import binascii
+import re
+import struct
+
+
+def CheckRegistrationCode(code):
+  '''Checks that a registration code is valid, raising a ValueError if not.'''
+  if len(code) != 72:
+    raise ValueError('Registration code %r is not 72 characters long' % code)
+  if re.search('[^0-9a-f]', code):
+    raise ValueError('Registration code %r has invalid characters' % code)
+
+  # Parse payload and CRC as byte strings.
+  payload = binascii.unhexlify(code[0:64])
+  crc = binascii.unhexlify(code[64:72])
+  expected_crc = struct.pack('!I', binascii.crc32(payload) & 0xFFFFFFFF)
+  if expected_crc != crc:
+    raise ValueError('CRC of %r is invalid (should be %s)' %
+                     (code, binascii.hexlify(expected_crc)))
+
