diff --git a/Jenkinsfile b/Jenkinsfile
index 133383eee832aa41b4658f9db3314b4eed020290..5b3de0e9f57e184697e3022f7baef7670fd452f0 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -264,6 +264,37 @@ def buildOStree(architecture, type, board, debosarguments = "", repo = "repo") {
         --filename ${image_name}.delta""")
 }
 
+def buildOStreeRollbackDelta(architecture, type, board, debosarguments = "", repo = "repo") {
+  def image_name = imageName(architecture, type, board, true)
+  def branch = "${osname}/${release}/${architecture}-${board}/${type}"
+  def rollback_branch = "${osname}/${release}/${architecture}-${board}/${type}-rollback"
+
+  sh(script: """
+      cd ${PIPELINE_VERSION}/${architecture}/${type}
+      debos ${debosarguments} \
+        --show-boot \
+        -t architecture:${architecture} \
+        -t type:$type \
+        -t board:$board \
+        -t suite:$release \
+        -t ospack:ospack_${release}-${architecture}-${type}_${PIPELINE_VERSION} \
+        -t image:${image_name} \
+        -t message:${release}-${type}-${architecture}-${board}_${PIPELINE_VERSION} \
+        -t ostree:${repo} \
+        ${WORKSPACE}/${osname}-ostree-rollback-commit.yaml""")
+
+  sh(script: """
+      cd ${PIPELINE_VERSION}/${architecture}/${type}
+      ostree --repo=${repo} static-delta generate \
+        --from=${branch} \
+        --to=${rollback_branch} \
+        --inline \
+        --min-fallback-size=1024 \
+        --filename ${image_name}_rollback.delta""")
+}
+
+
+
 /** Generate the image name
  *
  * To have a single place for image name generation.
@@ -321,6 +352,7 @@ def buildOStreeImage(architecture, type, board, debosarguments = "") {
 
     stage("${architecture} ${type} ${board} OStree image build") {
       buildOStree(architecture, type, board, debosarguments, repo)
+      buildOStreeRollbackDelta(architecture, type, board, debosarguments, repo)
 
       sh(script: """
           cd ${PIPELINE_VERSION}/${architecture}/${type}
diff --git a/apertis-ostree-rollback-commit.yaml b/apertis-ostree-rollback-commit.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..20cdeae015b4fe19247c04b49cd7161550ed76c5
--- /dev/null
+++ b/apertis-ostree-rollback-commit.yaml
@@ -0,0 +1,33 @@
+{{ $architecture := or .architecture "amd64" }}
+{{ $type := or .type "minimal" }}
+{{ $suite := or .suite "18.12" }}
+{{ $image := or .image (printf "apertis-ostree-%s-%s-%s" $suite  $type $architecture) }}
+
+{{ $board := or .board "uefi" }}
+{{ $repourl := or .repourl "https://images.apertis.org/ostree/repo" }}
+{{ $osname := or .osname "apertis" }}
+{{ $branch := or .branch (printf "%s/%s/%s-%s/%s-rollback" $osname $suite $architecture $board $type) }}
+{{ $ostree := or .ostree "repo" }}
+
+{{ $cmdline := or .cmdline "console=tty0 console=ttyS0,115200n8 rootwait rw quiet splash plymouth.ignore-serial-consoles" }}
+
+architecture: {{ $architecture }}
+
+actions:
+  - action: ostree-deploy
+    description: Deploying ostree onto image
+    repository: {{ $ostree }}
+    remote_repository: {{ $repourl }}
+    branch: {{ $branch }}
+    os: {{ $osname }}
+    append-kernel-cmdline: {{ $cmdline }}
+
+  - action: run
+    chroot: false
+    command: "rm ${ROOTDIR}/usr/bin/updatectl"
+
+  - action: ostree-commit
+    repository: {{ $ostree }}
+    branch: {{ $branch }}
+    subject: {{ $message }} rollback test commit
+