diff --git a/lib/classes/Markup.class.php b/lib/classes/Markup.class.php
index 6fbf7cffc4028c349da41a62ec98dff29c59bba0..21f6e6302007d24ead821e51df3b1a8c804d50e1 100644
--- a/lib/classes/Markup.class.php
+++ b/lib/classes/Markup.class.php
@@ -282,7 +282,7 @@ class Markup
             blockquote
             br
             caption
-            code
+            code[class]
             div[class|style]
             em
             figure[class|style]
@@ -327,6 +327,18 @@ class Markup
             'image',
             'image-style-side',
             'image_resized',
+            'language-cpp',
+            'language-css',
+            'language-diff',
+            'language-java',
+            'language-javascript',
+            'language-json',
+            'language-php',
+            'language-python',
+            'language-ruby',
+            'language-scss',
+            'language-sql',
+            'language-xml',
             'link-extern',
             'link-intern',
             'math-tex',
diff --git a/resources/assets/javascripts/chunks/wysiwyg.js b/resources/assets/javascripts/chunks/wysiwyg.js
index cae716e71e86091693f1658eb7a6e944f51bb1c3..be47e39fa766339cf81a3288425b9a5c61602c73 100644
--- a/resources/assets/javascripts/chunks/wysiwyg.js
+++ b/resources/assets/javascripts/chunks/wysiwyg.js
@@ -253,6 +253,10 @@ ClassicEditor.defaultConfig = {
                 name: 'div',
                 classes: 'author',
             },
+            {
+                name: 'pre',
+                classes: 'usercode'
+            }
         ],
         disallow: [
             /* HTML features to disallow */