diff --git a/lexers/embedded/kotlin.xml b/lexers/embedded/kotlin.xml
index 87bc81c..09c638a 100644
--- a/lexers/embedded/kotlin.xml
+++ b/lexers/embedded/kotlin.xml
@@ -180,6 +180,9 @@
       <rule pattern="@(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)">
         <token type="NameDecorator"/>
       </rule>
+      <rule pattern="(?:\p{Lu}[_\p{L}]*)(?=\.)">
+        <token type="NameClass"/>
+      </rule>
       <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)">
         <token type="Name"/>
       </rule>
diff --git a/lexers/testdata/kotlin.actual b/lexers/testdata/kotlin.actual
index 68e05af..a3b8cda 100644
--- a/lexers/testdata/kotlin.actual
+++ b/lexers/testdata/kotlin.actual
@@ -48,6 +48,8 @@ fun someOperators(a: Int, b: Int) {
     println( a % b)
     println(c in a..b)
     
+    Logger.info("Hello World")
+    
     a %= 2
 	a && b
 	a *= 2
diff --git a/lexers/testdata/kotlin.expected b/lexers/testdata/kotlin.expected
index bf1caaf..ea87ddf 100644
--- a/lexers/testdata/kotlin.expected
+++ b/lexers/testdata/kotlin.expected
@@ -309,6 +309,13 @@
   {"type":"Name","value":"b"},
   {"type":"Punctuation","value":")"},
   {"type":"Text","value":"\n    \n    "},
+  {"type":"NameClass","value":"Logger"},
+  {"type":"Punctuation","value":"."},
+  {"type":"Name","value":"info"},
+  {"type":"Punctuation","value":"("},
+  {"type":"LiteralStringDouble","value":"\"Hello World\""},
+  {"type":"Punctuation","value":")"},
+  {"type":"Text","value":"\n    \n    "},
   {"type":"Name","value":"a"},
   {"type":"Text","value":" "},
   {"type":"Operator","value":"%="},
@@ -488,29 +495,29 @@
   {"type":"Text","value":"\n\n"},
   {"type":"NameDecorator","value":"@Target"},
   {"type":"Punctuation","value":"("},
-  {"type":"Name","value":"AnnotationTarget"},
+  {"type":"NameClass","value":"AnnotationTarget"},
   {"type":"Punctuation","value":"."},
   {"type":"Name","value":"CLASS"},
   {"type":"Punctuation","value":","},
   {"type":"Text","value":" "},
-  {"type":"Name","value":"AnnotationTarget"},
+  {"type":"NameClass","value":"AnnotationTarget"},
   {"type":"Punctuation","value":"."},
   {"type":"Name","value":"FUNCTION"},
   {"type":"Punctuation","value":","},
   {"type":"Text","value":"\n        "},
-  {"type":"Name","value":"AnnotationTarget"},
+  {"type":"NameClass","value":"AnnotationTarget"},
   {"type":"Punctuation","value":"."},
   {"type":"Name","value":"VALUE_PARAMETER"},
   {"type":"Punctuation","value":","},
   {"type":"Text","value":" "},
-  {"type":"Name","value":"AnnotationTarget"},
+  {"type":"NameClass","value":"AnnotationTarget"},
   {"type":"Punctuation","value":"."},
   {"type":"Name","value":"EXPRESSION"},
   {"type":"Punctuation","value":")"},
   {"type":"Text","value":"\n"},
   {"type":"NameDecorator","value":"@Retention"},
   {"type":"Punctuation","value":"("},
-  {"type":"Name","value":"AnnotationRetention"},
+  {"type":"NameClass","value":"AnnotationRetention"},
   {"type":"Punctuation","value":"."},
   {"type":"Name","value":"SOURCE"},
   {"type":"Punctuation","value":")"},