diff --git a/exec/loadfont.js b/exec/loadfont.js
index 02d70e39b8abb7e540fa4042f1793fc3cfbecfe9..6dfb38f34877701545d3ff98d862ca7c1823d5ac 100644
--- a/exec/loadfont.js
+++ b/exec/loadfont.js
@@ -160,12 +160,14 @@ for (i in filenames) {
 
 	// Doesn't work on Win32.. Win32 sucks.
 	var fontdata=font.read(font.length);
+	var fonterr=font.error;
 
-	font.close();
 	if(fontdata.length != font.length) {
-		log(LOG_ERR,"!ERROR Error "+font.error+" reading font data (read "+fontdata.length+", expected "+font.length+") errno="+errno);
+		log(LOG_ERR,"!ERROR Error "+fonterr+" reading font data (read "+fontdata.length+", expected "+font.length+") errno="+errno);
+		font.close();
 		continue;
 	}
+	font.close();
 
 	client.socket.send("\x1b[="+(firstslot+parseInt(i))+";"+fontsize+"{");