Index: code/branches/usability/data/gui/layouts/GraphicsMenu.layout
===================================================================
--- code/branches/usability/data/gui/layouts/GraphicsMenu.layout	(revision 8018)
+++ code/branches/usability/data/gui/layouts/GraphicsMenu.layout	(revision 8019)
@@ -132,6 +132,5 @@
                     <Window Type="MenuWidgets/StaticText" Name="orxonox/Display/NoticeRed" >
                         <Property Name="Font" Value="BlueHighway-12" />
-                        <Property Name="Text" >Changing the theme, FSAA,
-or VSync requires a restart</Property>
+                        <Property Name="Text" >Restart required</Property>
                         <Property Name="TextColours" Value="tl:FFFF0000 tr:FFFF8888 bl:FFFF8888 br:FFFFFFFF" />
                         <Property Name="HorzFormatting" Value="HorzCentred" />
Index: code/branches/usability/data/gui/scripts/GraphicsMenu.lua
===================================================================
--- code/branches/usability/data/gui/scripts/GraphicsMenu.lua	(revision 8018)
+++ code/branches/usability/data/gui/scripts/GraphicsMenu.lua	(revision 8019)
@@ -92,9 +92,9 @@
     -- themes combobox
     local themeCombobox = winMgr:getWindow("orxonox/Display/Theme/Combobox")
-    local currentScheme = orxonox.CommandExecutor:query("getConfig GUIManager guiScheme_")
+    local currentTheme = orxonox.CommandExecutor:query("getConfig GUIManager guiScheme_")
 
     for i = 0, themeCombobox:getDropList():getItemCount() - 1 do
         local item = themeCombobox:getListboxItemFromIndex(i)
-        themeCombobox:setItemSelectState(item, (item:getText() == currentScheme))
+        themeCombobox:setItemSelectState(item, (item:getText() == currentTheme))
     end
 
@@ -114,8 +114,5 @@
 
     -- notice
-    local notice = winMgr:getWindow("orxonox/Display/Notice")
-    notice:setVisible(true)
-    local noticeRed = winMgr:getWindow("orxonox/Display/NoticeRed")
-    noticeRed:setVisible(false)
+    self:updateRedLabel()
 
     ------------------
@@ -252,9 +249,26 @@
 end
 
-function P.makeLabelRed()
+function P.updateRedLabel()
+    -- theme
+    local themeCombobox = winMgr:getWindow("orxonox/Display/Theme/Combobox")
+    local currentTheme = orxonox.CommandExecutor:query("getConfig GUIManager guiScheme_")
+    local themeChanged = (currentTheme ~= themeCombobox:getText())
+
+    -- vsync
+    local vsyncCheckbox = winMgr:getWindow("orxonox/Display/More/VSync")
+    local hasVSync = orxonox.GraphicsManager:getInstance():hasVSyncEnabled()
+    local vsyncChanged = (hasVSync ~= CEGUI.toCheckbox(vsyncCheckbox):isSelected())
+
+    -- fsaa
+    local fsaaCombobox = winMgr:getWindow("orxonox/Display/More/FSAA")
+    local currentFSAAMode = orxonox.GraphicsManager:getInstance():getFSAAMode()
+    local fsaaChanged = (currentFSAAMode ~= fsaaCombobox:getText())
+
+    local needRestart = themeChanged or vsyncChanged or fsaaChanged
+
     local notice = winMgr:getWindow("orxonox/Display/Notice")
-    notice:setVisible(false)
+    notice:setVisible(not needRestart)
     local noticeRed = winMgr:getWindow("orxonox/Display/NoticeRed")
-    noticeRed:setVisible(true)
+    noticeRed:setVisible(needRestart)
 end
 
@@ -284,5 +298,5 @@
 
 function P.callback_ThemeCombobox_ListSelectionAccepted(e)
-    P.makeLabelRed()
+    P.updateRedLabel()
 end
 
@@ -290,5 +304,5 @@
 
 function P.callback_VSyncCheckbox_CheckStateChanged(e)
-    P.makeLabelRed()
+    P.updateRedLabel()
 end
 
@@ -296,5 +310,5 @@
 
 function P.callback_FSAACombobox_ListSelectionAccepted(e)
-    P.makeLabelRed()
+    P.updateRedLabel()
 end
 
@@ -325,9 +339,15 @@
     -- vsync
     local vsyncCheckbox = winMgr:getWindow("orxonox/Display/More/VSync")
-    orxonox.CommandExecutor:execute("GraphicsManager setVSync " .. tostring(CEGUI.toCheckbox(vsyncCheckbox):isSelected()))
+    local hasVSync = orxonox.GraphicsManager:getInstance():hasVSyncEnabled()
+    if hasVSync ~= CEGUI.toCheckbox(vsyncCheckbox):isSelected() then
+        orxonox.CommandExecutor:execute("GraphicsManager setVSync " .. tostring(CEGUI.toCheckbox(vsyncCheckbox):isSelected()))
+    end
 
     -- fsaa
     local fsaaCombobox = winMgr:getWindow("orxonox/Display/More/FSAA")
-    orxonox.CommandExecutor:execute("GraphicsManager setFSAA {" .. fsaaCombobox:getText() .. "}") -- enclose argument in { ... } because it can contain [brackets] (conflicts with tcl)
+    local currentFSAAMode = orxonox.GraphicsManager:getInstance():getFSAAMode()
+    if currentFSAAMode ~= fsaaCombobox:getText() then
+        orxonox.CommandExecutor:execute("GraphicsManager setFSAA {" .. fsaaCombobox:getText() .. "}") -- enclose argument in { ... } because it can contain [brackets] (conflicts with tcl)
+    end
 
     -- fov
