diff --git a/ginstall/ginstall.py b/ginstall/ginstall.py
index 968a933..983d76c 100755
--- a/ginstall/ginstall.py
+++ b/ginstall/ginstall.py
@@ -346,13 +346,6 @@
   return subprocess.call(cmd)
 
 
-def UnlockMtd(mtddevname):
-  """Unlocks an mtd partition."""
-  VerbosePrint('Unlocking flash partition %r\n', mtddevname)
-  cmd = ['flash_unlock', mtddevname]
-  return subprocess.call(cmd)
-
-
 def Nandwrite(f, mtddevname):
   """Write file to NAND flash using nandwrite."""
   cmd = ['nandwrite', '--quiet', '--markbad', mtddevname]
@@ -435,9 +428,6 @@
   if IsMtdNand(mtddevname) and GetPlatform().startswith('GFRG2'):
     return _CopyAndVerifyNand(f, mtddevname)
   else:
-    if GetPlatform().startswith('GFLT'):
-      if UnlockMtd(mtddevname):
-        raise IOError('Flash unlocking failed.')
     return _CopyAndVerify(mtddevname, f, open(mtddevname, 'r+b'))
 
 
