diff --git a/macloader/macloader.c b/macloader/macloader.c
index 3e91ec5..89b657d 100644
--- a/macloader/macloader.c
+++ b/macloader/macloader.c
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
+#include <unistd.h>
 
 #include <cutils/log.h>
 
@@ -164,12 +165,19 @@
             ALOGE("Can't write to %s\n", CID_PATH);
             return -1;
         }
-        fclose(cidfile);
 
-        /* set permissions on cid file */
-        ALOGD("Setting permissions on %s\n", CID_PATH);
+        /* Change permissions of cid file */
+        ALOGD("Change permissions of %s\n", CID_PATH);
+
+        fd = fileno(cidfile);
         amode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
-        ret = chmod(CID_PATH, amode);
+        ret = fchmod(fd, amode);
+        fclose(cidfile);
+        if (ret != 0) {
+            ALOGE("Can't set permissions on %s - %s\n",
+                  CID_PATH, strerror(errno));
+            return 1;
+        }
 
         char* chown_cmd = (char*) malloc(strlen("chown system ") + strlen(CID_PATH) + 1);
         char* chgrp_cmd = (char*) malloc(strlen("chgrp system ") + strlen(CID_PATH) + 1);
@@ -178,12 +186,6 @@
         system(chown_cmd);
         system(chgrp_cmd);
 
-        if (ret != 0) {
-            fprintf(stderr, "chmod() on file %s failed\n", CID_PATH);
-            ALOGE("Can't set permissions on %s\n", CID_PATH);
-            return ret;
-        }
-
     } else {
         /* delete cid file if no specific type */
         ALOGD("Deleting file %s\n", CID_PATH);
