diff --git a/runtime/syntax/csc.vim b/runtime/syntax/csc.vim
index 5493b17..f4ce62c 100644
--- a/runtime/syntax/csc.vim
+++ b/runtime/syntax/csc.vim
@@ -3,11 +3,8 @@
 " Maintainer:	Raul Segura Acevedo <raulseguraaceved@netscape.net>
 " Last change:	2011 Dec 25 by Thilo Six
 
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-	syntax clear
-elseif exists("b:current_syntax")
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
 	finish
 endif
 
@@ -145,7 +142,7 @@
 sy	match	cscBPW	"!\s*\a*"	contains=cscBPmacro
 
 " when wanted, highlighting lhs members or erros in asignments (may lag the editing)
-if version >= 600 && exists("csc_asignment")
+if exists("csc_asignment")
 	sy	match	cscEqError	'\("[^"]*"\s*\|[^][\t !%()*+,--/:;<=>{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)'
 	sy	region	cscFormula	transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition
 	sy	region	cscFormulaIn	matchgroup=cscVarName transparent start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\(->\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\)*\s*=\([^=]\@=\|$\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition contained
@@ -158,44 +155,36 @@
 exec "sy sync ccomment cscComment minlines=" . csc_minlines
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_csc_syntax_inits")
-	if version < 508
-		let did_csc_syntax_inits = 1
-		command -nargs=+ HiLink hi link <args>
-	else
-		command -nargs=+ HiLink hi def link <args>
-	endif
+" Only when an item doesn't have highlighting yet
+command -nargs=+ HiLink hi def link <args>
 
-	hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue
+hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue
 
-	HiLink	cscNumber	Number
-	HiLink	cscOctal	Number
-	HiLink	cscFloat	Float
-	HiLink	cscParenE	Error
-	HiLink	cscCommentE	Error
-	HiLink	cscSpaceE	Error
-	HiLink	cscError	Error
-	HiLink	cscString	String
-	HiLink	cscComment	Comment
-	HiLink	cscTodo		Todo
-	HiLink	cscStatement	Statement
-	HiLink	cscIfError	Error
-	HiLink	cscEqError	Error
-	HiLink	cscFunction	Statement
-	HiLink	cscCondition	Statement
-	HiLink	cscWarn		WarningMsg
+HiLink	cscNumber	Number
+HiLink	cscOctal	Number
+HiLink	cscFloat	Float
+HiLink	cscParenE	Error
+HiLink	cscCommentE	Error
+HiLink	cscSpaceE	Error
+HiLink	cscError	Error
+HiLink	cscString	String
+HiLink	cscComment	Comment
+HiLink	cscTodo		Todo
+HiLink	cscStatement	Statement
+HiLink	cscIfError	Error
+HiLink	cscEqError	Error
+HiLink	cscFunction	Statement
+HiLink	cscCondition	Statement
+HiLink	cscWarn		WarningMsg
 
-	HiLink	cscComE	Error
-	HiLink	cscCom	Statement
-	HiLink	cscComW	WarningMsg
+HiLink	cscComE	Error
+HiLink	cscCom	Statement
+HiLink	cscComW	WarningMsg
 
-	HiLink	cscBPMacro	Identifier
-	HiLink	cscBPW		WarningMsg
+HiLink	cscBPMacro	Identifier
+HiLink	cscBPW		WarningMsg
 
-	delcommand HiLink
-endif
+delcommand HiLink
 
 let b:current_syntax = "csc"
 
