diff --git a/downloadhelper/fileutil.go b/downloadhelper/fileutil.go
index a62026a2c15cd87931d932df97874ff1d54ffcfb..bc64a18559382bd1bcbe6c0798c91cbf63b13f62 100644
--- a/downloadhelper/fileutil.go
+++ b/downloadhelper/fileutil.go
@@ -61,13 +61,15 @@ func mergeFiles(filename string, count int) {
 	fmt.Println("temp file name : " + tempFilename)
 	fmt.Println("file name : " + filename)
 
+	file, err := os.OpenFile(DownloadLocation+"/"+tempFilename, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
+	if err != nil {
+		log.Fatal(err)
+	}
+	defer file.Close()
+
 	for i := 0; i < count; i++ {
 		partFilename := DownloadLocation + "/temp/" + filename + "_" + strconv.Itoa(i)
-		file, err := os.OpenFile(DownloadLocation+"/"+tempFilename, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
-		if err != nil {
-			log.Fatal(err)
-		}
-		defer file.Close()
+		
 		reader, err := ioutil.ReadFile(partFilename)
 		reader = reader[16:]
 		if err != nil {
@@ -77,6 +79,7 @@ func mergeFiles(filename string, count int) {
 			log.Fatal(err)
 		}
 	}
+	file.Close()
 	os.Rename(DownloadLocation+"/"+tempFilename, DownloadLocation+"/"+filename)
 }
 func isDirEmpty(name string) (bool, error) {