diff --git a/NodeApp/src/commander/assignment/subcommands/AssignmentCreateCommand.ts b/NodeApp/src/commander/assignment/subcommands/AssignmentCreateCommand.ts
index ee88f71ce4f9245aa42417e672f8f7bd9f719461..49299cd8a295253ee9aa22bc022d0f6530c1d6af 100644
--- a/NodeApp/src/commander/assignment/subcommands/AssignmentCreateCommand.ts
+++ b/NodeApp/src/commander/assignment/subcommands/AssignmentCreateCommand.ts
@@ -8,6 +8,7 @@ import GitlabManager      from '../../../managers/GitlabManager';
 import DojoBackendManager from '../../../managers/DojoBackendManager';
 import Toolbox            from '../../../shared/helpers/Toolbox';
 import SharedConfig       from '../../../shared/config/SharedConfig';
+import SharedSonarManager from '../../../shared/managers/SharedSonarManager';
 
 
 class AssignmentCreateCommand extends CommanderCommand {
@@ -48,13 +49,15 @@ class AssignmentCreateCommand extends CommanderCommand {
                 return;
             }
 
-            const assignmentGetSonarSpinner: ora.Ora = ora('Checking server sonar status').start();
-            sonar = (SharedConfig.sonar.enabled ? options.sonar ?? false : false);
-            if (sonar && !(await DojoBackendManager.isSonarEnabled())) {
-                assignmentGetSonarSpinner.fail(`Sonar is currently not supported by the server. Disable sonar integration or try again later.`);
-                return;
+            if (options.sonar) {
+                const assignmentGetSonarSpinner: ora.Ora = ora('Checking server sonar status').start();
+                sonar = (SharedConfig.sonar.enabled ? options.sonar ?? false : false);
+                if ( sonar && !(await DojoBackendManager.isSonarEnabled()) ) {
+                    assignmentGetSonarSpinner.fail(`Sonar is currently not supported by the server. Disable sonar integration or try again later.`);
+                    return;
+                }
+                assignmentGetSonarSpinner.succeed(`Sonar is supported by the server`);
             }
-            assignmentGetSonarSpinner.succeed(`Sonar is supported by the server`);
 
             const assignmentGetSpinner: ora.Ora = ora('Checking assignment name availability').start();
             if ( await DojoBackendManager.getAssignment(options.name) ) {
@@ -64,6 +67,7 @@ class AssignmentCreateCommand extends CommanderCommand {
             assignmentGetSpinner.succeed(`Assignment name "${ options.name }" is available`);
 
             const languagesSpinner: ora.Ora = ora('Checking language support').start();
+            // Dojo languages
             const languages = await DojoBackendManager.getLanguages();
             if ( !languages.includes(options.language) ) {
                 languagesSpinner.fail(`Language "${ options.language }" is not supported. Choose a supported language or "other"`);
@@ -73,6 +77,15 @@ class AssignmentCreateCommand extends CommanderCommand {
                 }
                 return;
             }
+            // SonarQube languages
+            if (sonar) {
+                const sonarLang = await DojoBackendManager.getSonarLanguages();
+                if (!sonarLang.includes(SharedSonarManager.mapLanguage(options.language))) {
+                    languagesSpinner.fail(`Language "${ options.language }" is not supported with Sonar. Choose a supported language or disable sonar`);
+                    return;
+                }
+            }
+
             languagesSpinner.succeed(`Language "${ options.language }" is supported`);
 
             if ( options.template ) {
diff --git a/NodeApp/src/managers/DojoBackendManager.ts b/NodeApp/src/managers/DojoBackendManager.ts
index 061a306e9e0e22cab67030c580461f6f04c89164..a1d0343eaa65cbde115a24c77991bcd3b3e84717 100644
--- a/NodeApp/src/managers/DojoBackendManager.ts
+++ b/NodeApp/src/managers/DojoBackendManager.ts
@@ -243,6 +243,11 @@ class DojoBackendManager {
         return sonar.data.data.sonarEnabled;
     }
 
+    public async getSonarLanguages() {
+        const sonar = await axios.get<DojoBackendResponse<{ languages: string[] }>>(this.getApiUrl(ApiRoute.SONAR));
+        return sonar.data.data.languages;
+    }
+
     public async getLanguages() {
         const resp = await axios.get<DojoBackendResponse<string[]>>(this.getApiUrl(ApiRoute.LANGUAGES));
         return resp.data.data;
diff --git a/NodeApp/src/sharedByClients b/NodeApp/src/sharedByClients
index e97f044e6fd030775df32581680b1caa9a359628..76e13d9d08d52d31ece9a58645ac113c51132c71 160000
--- a/NodeApp/src/sharedByClients
+++ b/NodeApp/src/sharedByClients
@@ -1 +1 @@
-Subproject commit e97f044e6fd030775df32581680b1caa9a359628
+Subproject commit 76e13d9d08d52d31ece9a58645ac113c51132c71