diff --git a/ChangeLog b/ChangeLog
index 93919d61784a73abae6764c84612b40ee4db467e..b2b6de1ec80d8eafdedc88fec16c16babebcd68a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-04 Chris Allegretta <chrisa@asty.org>
+	* color.c (color_update): Add check for whether the file even exists
+	  before we try to run the magic check on it.  Fixes error messages to stderr
+	  when reading in files that don't exist, reported by Mike Frysinger.
+
 2011-03-03 Chris Allegretta <chrisa@asty.org>
 	* color.c (color_update): Remove unneeded debugging message from
 	  libmagic commit.  Fixed extra messages going to stderr reported by Mike Frysinger.
diff --git a/src/color.c b/src/color.c
index 61936213b7f0ff2a6cdd13df62f030b6c44cd493..e5d3348f97396be05bca34a11faec5df53f99c4b 100644
--- a/src/color.c
+++ b/src/color.c
@@ -131,6 +131,7 @@ void color_update(void)
     const char *magicstring = NULL;
     const char *magicerr = NULL;
     magic_t m;
+    struct stat fileinfo;
 #endif /* HAVE_LIBMAGIC */
 
 
@@ -160,7 +161,7 @@ void color_update(void)
 
 #ifdef HAVE_LIBMAGIC
 
-    if (strcmp(openfile->filename,"")) {
+    if (strcmp(openfile->filename,"") && stat(openfile->filename, &fileinfo) == 0) {
 	m = magic_open(MAGIC_SYMLINK |
 #ifdef DEBUG
                        MAGIC_DEBUG | MAGIC_CHECK |