diff --git a/lib/SimpleSAML/XHTML/Template.php b/lib/SimpleSAML/XHTML/Template.php
index 58b98d40c58bb4c96ab8d8c39624816ee46aeea6..4646fea3d3563cc30ff80e733da4486d3ca39e81 100644
--- a/lib/SimpleSAML/XHTML/Template.php
+++ b/lib/SimpleSAML/XHTML/Template.php
@@ -77,7 +77,9 @@ class SimpleSAML_XHTML_Template {
 		$this->language = $language;
 		// setcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly ]]]]]] )
 		// time()+60*60*24*900 expires 900 days from now.
-		setcookie('language', $language, time()+60*60*24*900, '/');
+		if (!headers_sent()) {
+			setcookie('language', $language, time()+60*60*24*900, '/');
+		}
 	}
 
 	/**