diff --git a/internal/epub/epub.go b/internal/epub/epub.go
index 14d50fd..dc849aa 100644
--- a/internal/epub/epub.go
+++ b/internal/epub/epub.go
@@ -292,8 +292,9 @@ func (e *ePub) Write() error {
 				return err
 			}
 
-			// Double Page or Last Image
-			if img.Image.DoublePage || (i+1 == len(part.LoadedImages)) {
+			// Double Page or Last Image that is not a double page
+			if img.Image.DoublePage ||
+				(img.Image.Part == 0 && i+1 == len(part.LoadedImages)) {
 				if err := e.writeBlank(wz, img.Image); err != nil {
 					return err
 				}
diff --git a/internal/epub/templates/epub_templates_content.go b/internal/epub/templates/epub_templates_content.go
index ff594c5..329ffad 100644
--- a/internal/epub/templates/epub_templates_content.go
+++ b/internal/epub/templates/epub_templates_content.go
@@ -150,7 +150,10 @@ func getManifest(o *ContentOptions) []tag {
 		}
 		items = append(items, itag(img), htag(img))
 	}
-	items = append(items, stag(o.Images[len(o.Images)-1]))
+	lastImage := o.Images[len(o.Images)-1]
+	if lastImage.Part == 0 {
+		items = append(items, stag(lastImage))
+	}
 
 	return items
 }