diff --git a/cros_update.py b/cros_update.py
index c518ccc..528e51f 100644
--- a/cros_update.py
+++ b/cros_update.py
@@ -96,6 +96,9 @@
     self.parser.add_argument('--payload_filename', action='store', type=str,
                              dest='payload_filename', default='',
                              help='A custom payload filename')
+    self.parser.add_argument('--clobber_stateful', action='store_true',
+                             dest='clobber_stateful', default=False,
+                             help='Whether to clobber stateful')
 
   def ParseArgs(self):
     """Parse and process command line arguments."""
@@ -120,7 +123,8 @@
   """
   def __init__(self, host_name, build_name, static_dir, progress_tracker=None,
                log_file=None, au_tempdir=None, force_update=False,
-               full_update=False, original_build=None, payload_filename=None):
+               full_update=False, original_build=None, payload_filename=None,
+               clobber_stateful=True):
     self.host_name = host_name
     self.build_name = build_name
     self.static_dir = static_dir
@@ -131,6 +135,7 @@
     self.full_update = full_update
     self.original_build = original_build
     self.payload_filename = payload_filename
+    self.clobber_stateful = clobber_stateful
 
   def _WriteAUStatus(self, content):
     if self.progress_tracker:
@@ -207,7 +212,8 @@
             log_file=self.log_file,
             original_payload_dir=original_payload_dir,
             yes=True,
-            payload_filename=self.payload_filename)
+            payload_filename=self.payload_filename,
+            clobber_stateful=self.clobber_stateful)
         chromeos_AU.CheckPayloads()
 
         version_match = chromeos_AU.PreSetupCrOSUpdate()
@@ -307,7 +313,8 @@
       force_update=options.force_update,
       full_update=options.full_update,
       original_build=options.original_build,
-      payload_filename=options.payload_filename)
+      payload_filename=options.payload_filename,
+      clobber_stateful=options.clobber_stateful)
 
   # Set timeout the cros-update process.
   try:
diff --git a/devserver.py b/devserver.py
index fec5001..63bde9e 100755
--- a/devserver.py
+++ b/devserver.py
@@ -914,6 +914,7 @@
     async = _parse_boolean_arg(kwargs, 'async')
     original_build = _parse_string_arg(kwargs, 'original_build')
     payload_filename = _parse_string_arg(kwargs, 'payload_filename')
+    clobber_stateful = _parse_boolean_arg(kwargs, 'clobber_stateful')
 
     if async:
       path = os.path.dirname(os.path.abspath(__file__))
@@ -940,6 +941,9 @@
       if payload_filename:
         args = ('%s --payload_filename %s' % (args, payload_filename))
 
+      if clobber_stateful:
+        args = ('%s --clobber_stateful' % args)
+
       p = subprocess.Popen([args], shell=True, preexec_fn=os.setsid)
       pid = os.getpgid(p.pid)
 
