diff --git a/src/opengl.c b/src/opengl.c
index fea27d3..560bfff 100644
--- a/src/opengl.c
+++ b/src/opengl.c
@@ -481,9 +481,12 @@ void gl_drawCircleInRect(const double cx, const double cy, const double r,
 
 	rxw = rx+rw;
 	ryh = ry+rh;
-
+	
+	// Are we offscreen?
+	if((cx+r < rx) || (cy+r < ry) || (cx-r > rxw) || (cy-r > ryh))
+		return;
 	// Can be drawn normally.
-	if((cx-r > rx) && (cy-r > ry) && (cx+r < rxw) && (cy+r < ryh)) {
+	else if((cx-r > rx) && (cy-r > ry) && (cx+r < rxw) && (cy+r < ryh)) {
 		gl_drawCircle(cx, cy, r);
 		return;
 	}