diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c
index 02534f2..b3aa59d 100644
--- a/lmkd/lmkd.c
+++ b/lmkd/lmkd.c
@@ -797,31 +797,24 @@
 }
 
 static int memory_stat_parse(struct memory_stat *mem_st,  int pid, uid_t uid) {
-    FILE *fp;
-    char buf[PATH_MAX];
+   FILE *fp;
+   char buf[PATH_MAX];
 
-    /*
-     * Per-application memory.stat files are available only when
-     * per-application memcgs are enabled.
-     */
-    if (!per_app_memcg)
-        return -1;
+   snprintf(buf, sizeof(buf), MEMCG_PROCESS_MEMORY_STAT_PATH, uid, pid);
 
-    snprintf(buf, sizeof(buf), MEMCG_PROCESS_MEMORY_STAT_PATH, uid, pid);
+   fp = fopen(buf, "r");
 
-    fp = fopen(buf, "r");
+   if (fp == NULL) {
+       ALOGE("%s open failed: %s", buf, strerror(errno));
+       return -1;
+   }
 
-    if (fp == NULL) {
-        ALOGE("%s open failed: %s", buf, strerror(errno));
-        return -1;
-    }
+   while (fgets(buf, PAGE_SIZE, fp) != NULL ) {
+       memory_stat_parse_line(buf, mem_st);
+   }
+   fclose(fp);
 
-    while (fgets(buf, PAGE_SIZE, fp) != NULL ) {
-        memory_stat_parse_line(buf, mem_st);
-    }
-    fclose(fp);
-
-    return 0;
+   return 0;
 }
 #endif
 
