diff --git a/src/go/plugins/systemd/systemd.go b/src/go/plugins/systemd/systemd.go
index a6f65c94e0..72e4ea1c50 100644
--- a/src/go/plugins/systemd/systemd.go
+++ b/src/go/plugins/systemd/systemd.go
@@ -41,16 +41,30 @@ type Plugin struct {
 var impl Plugin
 
 type unit struct {
-	Name        string `json:"{#UNIT.NAME}"`
-	Description string `json:"{#UNIT.DESCRIPTION}"`
-	LoadState   string `json:"{#UNIT.LOADSTATE}"`
-	ActiveState string `json:"{#UNIT.ACTIVESTATE}"`
-	SubState    string `json:"{#UNIT.SUBSTATE}"`
-	Followed    string `json:"{#UNIT.FOLLOWED}"`
-	Path        string `json:"{#UNIT.PATH}"`
-	JobID       uint32 `json:"{#UNIT.JOBID}"`
-	JobType     string `json:"{#UNIT.JOBTYPE}"`
-	JobPath     string `json:"{#UNIT.JOBPATH}"`
+	Name        string
+	Description string
+	LoadState   string
+	ActiveState string
+	SubState    string
+	Followed    string
+	Path        string
+	JobID       uint32
+	JobType     string
+	JobPath     string
+}
+
+type unitJson struct {
+	Name          string `json:"{#UNIT.NAME}"`
+	Description   string `json:"{#UNIT.DESCRIPTION}"`
+	LoadState     string `json:"{#UNIT.LOADSTATE}"`
+	ActiveState   string `json:"{#UNIT.ACTIVESTATE}"`
+	SubState      string `json:"{#UNIT.SUBSTATE}"`
+	Followed      string `json:"{#UNIT.FOLLOWED}"`
+	Path          string `json:"{#UNIT.PATH}"`
+	JobID         uint32 `json:"{#UNIT.JOBID}"`
+	JobType       string `json:"{#UNIT.JOBTYPE}"`
+	JobPath       string `json:"{#UNIT.JOBPATH}"`
+	UnitFileState string `json:"{#UNIT.FILESTATE}"`
 }
 
 func (p *Plugin) getConnection() (*dbus.Conn, error) {
@@ -137,13 +151,29 @@ func (p *Plugin) Export(key string, params []string, ctx plugin.ContextProvider)
 			return nil, fmt.Errorf("Cannot retrieve list of units: %s", err)
 		}
 
-		array := make([]*unit, len(units))
+		array := make([]unitJson, len(units))
 		j := 0
 		for i := 0; i < len(units); i++ {
 			if len(ext) != 0 && ext != filepath.Ext(units[i].Name) {
 				continue
 			}
-			array[j] = &units[i]
+
+			array[j].Name = units[i].Name
+			array[j].Description = units[i].Description
+			array[j].LoadState = units[i].LoadState
+			array[j].SubState = units[i].SubState
+			array[j].Followed = units[i].Followed
+			array[j].Path = units[i].Path
+			array[j].JobID = units[i].JobID
+			array[j].JobType = units[i].JobType
+			array[j].JobPath = units[i].JobPath
+			array[j].ActiveState = units[i].ActiveState
+			UnitFileState, _ := p.Export("systemd.unit.info", []string{units[i].Name, "UnitFileState"}, nil)
+			switch reflect.TypeOf(UnitFileState).Kind() {
+			case reflect.String:
+				array[j].UnitFileState = UnitFileState.(string)
+			}
+
 			j++
 		}
 
