diff --git a/Services/AutoMaintainer/definition.go b/Services/AutoMaintainer/definition.go
index d854cec9920bfac69835f0a406c32e7be5b206f2..56c51424e50e0bf06fce3be2e1430d88ccc2364c 100644
--- a/Services/AutoMaintainer/definition.go
+++ b/Services/AutoMaintainer/definition.go
@@ -58,7 +58,7 @@ func hasUser(gitlabClient *gitlab.Client, email string) (*gitlab.User, error) {
 }
 
 // ExtractMaintainer takes a ProjectID and a filename and tries to extract the user name
-// and email address of the '# Maintainer:' field
+// and email address of the '# Maintainer:' field, or the 'maintainer=' variable
 func ExtractMaintainer(gitlabClient *gitlab.Client, projectID interface{}, filename, ref string) (*[2]Maintainer, error) {
 	maintainerSlice := [2]Maintainer{}
 
@@ -72,15 +72,16 @@ func ExtractMaintainer(gitlabClient *gitlab.Client, projectID interface{}, filen
 	}
 
 	// Run over every line of the received raw file, we will check the first
-	// occurrence of '# Maintainer'
+	// occurrence of '# Maintainer' or 'maintainer='
 	scanner := bufio.NewScanner(bytes.NewReader(file))
 	for scanner.Scan() {
 		scannedLine := scanner.Text()
 
-		if strings.HasPrefix(scannedLine, "# Maintainer:") {
-			// Strip the # Maintainer: and pass everything else
-			line := strings.ReplaceAll(scannedLine, "# Maintainer:", "")
+		if strings.HasPrefix(scannedLine, "maintainer=") || strings.HasPrefix(scannedLine, "# Maintainer:") {
+			line := strings.TrimPrefix(scannedLine, "maintainer=")
+			line = strings.TrimPrefix(line, "# Maintainer:")
 			line = strings.TrimSpace(line)
+			line = strings.Trim(line, "\"")
 
 			address, err := mail.ParseAddress(line)
 			if err != nil {
diff --git a/Services/AutoMaintainer/definition_test.go b/Services/AutoMaintainer/definition_test.go
index 6be01671dfb6c4b50acf65e44e71fd6d99a6b6c9..d068aa3b8bca18320f5af9663052fad8699114f4 100644
--- a/Services/AutoMaintainer/definition_test.go
+++ b/Services/AutoMaintainer/definition_test.go
@@ -31,6 +31,7 @@ func Test_hasUserSimple(t *testing.T) {
 	user, err := hasUser(client, "foo@bar.org")
 	if err != nil {
 		t.Errorf("expected error = nil, got = %s", err)
+		return
 	}
 	assertEqStr(t, "foo", user.Username)
 }
@@ -42,6 +43,7 @@ func Test_hasUserNoMatch(t *testing.T) {
 	mux.HandleFunc("/api/v4/users", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "[]"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
@@ -84,6 +86,29 @@ func Test_ExtractMaintainerSimple(t *testing.T) {
 	maintainerSlice, err := ExtractMaintainer(client, 1, "APKBUILD", "master")
 	if err != nil {
 		t.Errorf("got unexpected error: %v", err)
+		return
+	}
+	assertEqStr(t, "foo@bar.org", maintainerSlice[0].GetEmail())
+	assertEqStr(t, "Foo", maintainerSlice[0].GetName())
+	assertEqStr(t, "foo@bar.org", maintainerSlice[1].GetEmail())
+	assertEqStr(t, "Foo", maintainerSlice[1].GetName())
+}
+
+func Test_ExtractMaintainerVar(t *testing.T) {
+	mux, server, client := mocklab.Setup(t)
+	defer mocklab.Teardown(server)
+
+	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
+		if _, err := io.WriteString(w, "maintainer=\"Foo <foo@bar.org>\""); err != nil {
+			t.Fatalf("error writing response: %v", err)
+			return
+		}
+	})
+
+	maintainerSlice, err := ExtractMaintainer(client, 1, "APKBUILD", "master")
+	if err != nil {
+		t.Errorf("got unexpected error: %v", err)
+		return
 	}
 	assertEqStr(t, "foo@bar.org", maintainerSlice[0].GetEmail())
 	assertEqStr(t, "Foo", maintainerSlice[0].GetName())
@@ -98,12 +123,14 @@ func Test_ExtractMaintainerTeam(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer: team/X <foo@bar.org>"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
 	maintainerSlice, err := ExtractMaintainer(client, 1, "APKBUILD", "master")
 	if err != nil {
 		t.Errorf("got unexpected error: %v", err)
+		return
 	}
 	assertEqStr(t, "foo@bar.org", maintainerSlice[0].GetEmail())
 	assertEqStr(t, "team/X", maintainerSlice[0].GetName())
@@ -118,12 +145,14 @@ func Test_ExtractMaintainerSimpleNoName(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer: <foo@bar.org>"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
 	maintainerSlice, err := ExtractMaintainer(client, 1, "APKBUILD", "master")
 	if err != nil {
 		t.Errorf("got unexpected error: %v", err)
+		return
 	}
 	assertEqStr(t, "foo@bar.org", maintainerSlice[0].GetEmail())
 	assertEqStr(t, "", maintainerSlice[0].GetName())
@@ -138,6 +167,7 @@ func Test_ExtractMaintainerNoMaintainer(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, ""); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
@@ -157,6 +187,7 @@ func Test_ExtractMaintainerBadFormatUnclosedAngleAddr(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer: Foo <foo@bar.org"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
@@ -176,6 +207,7 @@ func Test_ExtractMaintainerMissingAddress(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer: Foo"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
@@ -195,6 +227,7 @@ func Test_ExtractMaintainerEmpty(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer:"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
@@ -214,12 +247,14 @@ func Test_ExtractMaintainerTag(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer: Foo <foo+alpine@bar.org>"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
 	maintainerSlice, err := ExtractMaintainer(client, 1, "APKBUILD", "master")
 	if err != nil {
 		t.Errorf("got unexpected error: %v", err)
+		return
 	}
 
 	assertEqStr(t, "foo+alpine@bar.org", maintainerSlice[0].GetEmail())
@@ -235,12 +270,14 @@ func Test_ExtractMaintainerMultipleTags(t *testing.T) {
 	mux.HandleFunc("/api/v4/projects/1/repository/files/APKBUILD/raw", func(w http.ResponseWriter, r *http.Request) {
 		if _, err := io.WriteString(w, "# Maintainer: Foo <foo+alpine+aports@bar.org>"); err != nil {
 			t.Fatalf("error writing response: %v", err)
+			return
 		}
 	})
 
 	maintainerSlice, err := ExtractMaintainer(client, 1, "APKBUILD", "master")
 	if err != nil {
 		t.Errorf("got unexpected error: %v", err)
+		return
 	}
 	assertEqStr(t, "foo+alpine+aports@bar.org", maintainerSlice[0].GetEmail())
 	assertEqStr(t, "Foo", maintainerSlice[0].GetName())