diff --git a/deploy/addons/auto-pause/auto-pause.service b/deploy/addons/auto-pause/auto-pause.service
index a4d4161d7f..8bb5b730fc 100644
--- a/deploy/addons/auto-pause/auto-pause.service
+++ b/deploy/addons/auto-pause/auto-pause.service
@@ -1,3 +1,4 @@
+[Unit]
 Description=Auto Pause Service
 
 [Service]
diff --git a/deploy/addons/auto-pause/unpause.lua b/deploy/addons/auto-pause/unpause.lua
index aa4e2f3947..27ab7e2995 100644
--- a/deploy/addons/auto-pause/unpause.lua
+++ b/deploy/addons/auto-pause/unpause.lua
@@ -1,5 +1,4 @@
 local function unpause(txn, addr, port)
-    core.Info("hello_world\n")
     if not addr then addr = '127.0.0.1' end
     if not port then port = 5000 end
 
diff --git a/pkg/addons/addons.go b/pkg/addons/addons.go
index 4d137b5840..5d0dbb1a71 100644
--- a/pkg/addons/addons.go
+++ b/pkg/addons/addons.go
@@ -18,6 +18,7 @@ package addons
 
 import (
 	"fmt"
+	"os/exec"
 	"path"
 	"runtime"
 	"sort"
@@ -39,6 +40,7 @@ import (
 	"k8s.io/minikube/pkg/minikube/driver"
 	"k8s.io/minikube/pkg/minikube/exit"
 	"k8s.io/minikube/pkg/minikube/machine"
+	"k8s.io/minikube/pkg/minikube/mustload"
 	"k8s.io/minikube/pkg/minikube/out"
 	"k8s.io/minikube/pkg/minikube/out/register"
 	"k8s.io/minikube/pkg/minikube/reason"
@@ -201,13 +203,20 @@ https://github.com/kubernetes/minikube/issues/7332`, out.V{"driver_name": cc.Dri
 		}
 	}
 
-	cmd, err := machine.CommandRunner(host)
+	runner, err := machine.CommandRunner(host)
 	if err != nil {
 		return errors.Wrap(err, "command runner")
 	}
 
+	if name == "auto-pause" && !enable {
+		cmd := exec.Command("sudo", "systemctl", "disable", "--now", "auto-pause")
+		if _, err := runner.RunCmd(cmd); err != nil {
+			klog.ErrorS(err, "failed to disable", "service", "auto-pause")
+		}
+	}
+
 	data := assets.GenerateTemplateData(addon, cc.KubernetesConfig)
-	return enableOrDisableAddonInternal(cc, addon, cmd, data, enable)
+	return enableOrDisableAddonInternal(cc, addon, runner, data, enable)
 }
 
 func isAddonAlreadySet(cc *config.ClusterConfig, addon *assets.Addon, enable bool) bool {
@@ -223,7 +232,7 @@ func isAddonAlreadySet(cc *config.ClusterConfig, addon *assets.Addon, enable boo
 	return false
 }
 
-func enableOrDisableAddonInternal(cc *config.ClusterConfig, addon *assets.Addon, cmd command.Runner, data interface{}, enable bool) error {
+func enableOrDisableAddonInternal(cc *config.ClusterConfig, addon *assets.Addon, runner command.Runner, data interface{}, enable bool) error {
 	deployFiles := []string{}
 
 	for _, addon := range addon.Assets {
@@ -242,13 +251,13 @@ func enableOrDisableAddonInternal(cc *config.ClusterConfig, addon *assets.Addon,
 
 		if enable {
 			klog.Infof("installing %s", fPath)
-			if err := cmd.Copy(f); err != nil {
+			if err := runner.Copy(f); err != nil {
 				return err
 			}
 		} else {
 			klog.Infof("Removing %+v", fPath)
 			defer func() {
-				if err := cmd.Remove(f); err != nil {
+				if err := runner.Remove(f); err != nil {
 					klog.Warningf("error removing %s; addon should still be disabled as expected", fPath)
 				}
 			}()
@@ -260,7 +269,7 @@ func enableOrDisableAddonInternal(cc *config.ClusterConfig, addon *assets.Addon,
 
 	// Retry, because sometimes we race against an apiserver restart
 	apply := func() error {
-		_, err := cmd.RunCmd(kubectlCommand(cc, deployFiles, enable))
+		_, err := runner.RunCmd(kubectlCommand(cc, deployFiles, enable))
 		if err != nil {
 			klog.Warningf("apply failed, will retry: %v", err)
 		}
@@ -435,3 +444,22 @@ func Start(wg *sync.WaitGroup, cc *config.ClusterConfig, toEnable map[string]boo
 		}
 	}
 }
+
+// enableAutoPause enables the service after the config was copied by generic enble
+func enableAutoPause(cc *config.ClusterConfig, name string, val string) error {
+	enable, err := strconv.ParseBool(val)
+	if err != nil {
+		return errors.Wrapf(err, "parsing bool: %s", name)
+	}
+	if !enable {
+		return nil
+	}
+	c := mustload.Running(cc.Name)
+	r := c.CP.Runner
+	cmd := exec.Command("sudo", "systemctl", "enable", "--now", "auto-pause")
+	if _, err := r.RunCmd(cmd); err != nil {
+		klog.ErrorS(err, "failed to enable", "service", "auto-pause")
+		return err
+	}
+	return nil
+}
diff --git a/pkg/addons/config.go b/pkg/addons/config.go
index 41937a5224..a1ef436c93 100644
--- a/pkg/addons/config.go
+++ b/pkg/addons/config.go
@@ -45,7 +45,7 @@ var Addons = []*Addon{
 	{
 		name:      "auto-pause",
 		set:       SetBool,
-		callbacks: []setFn{EnableOrDisableAddon},
+		callbacks: []setFn{EnableOrDisableAddon, enableAutoPause},
 	},
 
 	{