diff --git a/CHANGELOG b/CHANGELOG
index 392a356c79a83c4156ed10c91e715d14f0cd8d35..e81df2fbf11672814f1ab07a268a5c43b8b975b5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -36,6 +36,7 @@ v 8.13.0 (unreleased)
   - Close open merge request without source project (Katarzyna Kobierska Ula Budziszewska)
   - Fix that manual jobs would no longer block jobs in the next stage. !6604
   - Add configurable email subject suffix (Fu Xu)
+  - Use defined colour for a language when available !6748 (nilsding)
   - Added tooltip to fork count on project show page. (Justin DiPierro)
   - Use a ConnectionPool for Rails.cache on Sidekiq servers
   - Replace `alias_method_chain` with `Module#prepend`
diff --git a/app/controllers/projects/graphs_controller.rb b/app/controllers/projects/graphs_controller.rb
index f4f2e5841a0d9f52af8b23a9c1900127afae1b38..923e7340e6925163fb845e4542c3a163dfb0bbbc 100644
--- a/app/controllers/projects/graphs_controller.rb
+++ b/app/controllers/projects/graphs_controller.rb
@@ -35,14 +35,10 @@ class Projects::GraphsController < Projects::ApplicationController
   def languages
     @languages = Linguist::Repository.new(@repository.rugged, @repository.rugged.head.target_id).languages
     total = @languages.map(&:last).sum
-    colors = Linguist::Language.colors.
-             select { |lang| @languages.include? lang.name }.
-             map { |lang| [lang.name, lang.color] }.
-             to_h
 
     @languages = @languages.map do |language|
       name, share = language
-      color = colors[name] || "##{Digest::SHA256.hexdigest(name)[0...6]}"
+      color = Linguist::Language[name].color || "##{Digest::SHA256.hexdigest(name)[0...6]}"
       {
         value: (share.to_f * 100 / total).round(2),
         label: name,