diff --git a/meta-phosphor/common/recipes-core/os-release/os-release.bbappend b/meta-phosphor/common/recipes-core/os-release/os-release.bbappend
index 64f0fed..9c599ee 100644
--- a/meta-phosphor/common/recipes-core/os-release/os-release.bbappend
+++ b/meta-phosphor/common/recipes-core/os-release/os-release.bbappend
@@ -1,22 +1,22 @@
 def run_git(d, cmd):
-        try:
-                oeroot = d.getVar('COREBASE', True)
-                return bb.process.run("git --work-tree %s --git-dir %s/.git %s"
-                                      % (oeroot, oeroot, cmd))[0].strip('\n')
-        except:
-                pass
+    try:
+        oeroot = d.getVar('COREBASE', True)
+        return bb.process.run("git --work-tree %s --git-dir %s/.git %s"
+            % (oeroot, oeroot, cmd))[0].strip('\n')
+    except:
+        pass
 
 python() {
-        version_id = run_git(d, 'describe --dirty --long')
-        if version_id:
-                d.setVar('VERSION_ID', version_id)
-                versionList = version_id.split('-')
-                version = versionList[0] + "-" + versionList[1]
-                d.setVar('VERSION', version)
+    version_id = run_git(d, 'describe --dirty --long')
+    if version_id:
+        d.setVar('VERSION_ID', version_id)
+        versionList = version_id.split('-')
+        version = versionList[0] + "-" + versionList[1]
+        d.setVar('VERSION', version)
 
-        build_id = run_git(d, 'describe --abbrev=0')
-        if build_id:
-                d.setVar('BUILD_ID', build_id)
+    build_id = run_git(d, 'describe --abbrev=0')
+    if build_id:
+        d.setVar('BUILD_ID', build_id)
 }
 
 OS_RELEASE_FIELDS_append = " BUILD_ID"
