diff --git a/shoutcast.py b/shoutcast.py
index b952b34..57d839a 100644
--- a/shoutcast.py
+++ b/shoutcast.py
@@ -374,9 +374,15 @@ class ShoutCast(Container):
 		self.genre_list = None
 
 	def checkUpdate(self):
-		nl = self.genres.parse_genres()
-		if nl == self.genre_list:
-			return
+		while True:
+			try:
+				nl = self.genres.parse_genres()
+				if nl == self.genre_list:
+					return
+				break
+			except Exception, x:
+				log.msg('parse_genres exception:', `x`)
+				time.sleep(1)
 
 		self.genre_list = nl