diff --git a/doc/imgtool.md b/doc/imgtool.md
index f881d57..309364e 100644
--- a/doc/imgtool.md
+++ b/doc/imgtool.md
@@ -66,6 +66,7 @@
       --align ALIGN
       -v VERSION, --version VERSION
       -H HEADER_SIZE, --header-size HEADER_SIZE
+      --included-header     Image has gap for header
       --pad PAD             Pad image to this many bytes, adding trailer magic
       --rsa-pkcs1-15        Use old PKCS#1 v1.5 signature algorithm
 
@@ -75,8 +76,10 @@
 
 The header size depends on the operating system and the particular
 flash device.  For Zephyr, it will be configured as part of the build,
-and will be a small power of two.  The generated image should start
-with zero bytes of this length (and the script will check this).
+and will be a small power of two.  By default, the header will be
+prepended to the image.  If `--included-header` is given, the image
+must start with header-size bytes of zeros, and the header will be
+overwritten over these bytes.
 
 The optional --pad argument will place a trailer on the image that
 indicates that the image should be considered an upgrade.  Writing
diff --git a/scripts/imgtool.py b/scripts/imgtool.py
index e0a8106..6bc3cd0 100755
--- a/scripts/imgtool.py
+++ b/scripts/imgtool.py
@@ -34,6 +34,7 @@
         keys.sign_rsa_pss = False
     img = image.Image.load(args.infile, version=args.version,
             header_size=args.header_size,
+            included_header=args.included_header,
             pad=args.pad)
     key = keys.load(args.key) if args.key else None
     img.sign(key)
@@ -79,6 +80,8 @@
     sign.add_argument("--align", type=alignment_value, required=True)
     sign.add_argument("-v", "--version", type=version.decode_version, required=True)
     sign.add_argument("-H", "--header-size", type=intparse, required=True)
+    sign.add_argument("--included-header", default=False, action='store_true',
+            help='Image has gap for header')
     sign.add_argument("--pad", type=intparse,
             help='Pad image to this many bytes, adding trailer magic')
     sign.add_argument("--rsa-pkcs1-15", help='Use old PKCS#1 v1.5 signature algorithm',
diff --git a/scripts/imgtool/image.py b/scripts/imgtool/image.py
index f270268..49b8249 100644
--- a/scripts/imgtool/image.py
+++ b/scripts/imgtool/image.py
@@ -55,12 +55,17 @@
 
 class Image():
     @classmethod
-    def load(cls, path, **kwargs):
+    def load(cls, path, included_header=False, **kwargs):
         """Load an image from a given file"""
         with open(path, 'rb') as f:
             payload = f.read()
         obj = cls(**kwargs)
         obj.payload = payload
+
+        # Add the image header if needed.
+        if not included_header and obj.header_size > 0:
+            obj.payload = (b'\000' * obj.header_size) + obj.payload
+
         obj.check()
         return obj
 
