diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass
index 20d2d4c..d37b07e 100644
--- a/meta/classes/dpkg-gbp.bbclass
+++ b/meta/classes/dpkg-gbp.bbclass
@@ -26,3 +26,13 @@ builddeps_install_append() {
 dpkg_runbuild_prepend() {
     export GBP_PREFIX="gbp buildpackage --git-ignore-new ${GBP_EXTRA_OPTIONS} --git-builder="
 }
+
+do_patch[prefuncs] = "set_src_rev"
+
+python set_src_rev() {
+    srcsubdir = d.getVar('S')
+    srcrev = d.getVar('SRCREV')
+
+    if srcrev:
+        bb.process.run('git reset --hard ' + srcrev, cwd=srcsubdir)
+}
