diff --git a/bin/Editor.js b/bin/Editor.js
index 3777470fd57ece5c551b5ef2df77f01d7a050c3a..d4b85edb70f64303a16f44901abaedd28d961a4e 100644
--- a/bin/Editor.js
+++ b/bin/Editor.js
@@ -219,6 +219,10 @@ define('package/quiqqer/ckeditor4/bin/Editor', [
                 URL_OPT_DIR + 'quiqqer/ckeditor4/bin/defaultWysiwyg.css'
             );
 
+            data.cssFiles.push(
+                URL_OPT_DIR + 'quiqqer/quiqqer/bin/css/fonts/font-awesome.min.css'
+            );
+
 
             Settings.getConfig().then(function (config) {
                 var plugins = config.plugins;
diff --git a/bin/backend/controls/UploadWindow.js b/bin/backend/controls/UploadWindow.js
index 62bb4dc48ad0544738d700380ec5a3a02bd99f37..ce44cb109554f3a247f21fa28f719f157d554704 100644
--- a/bin/backend/controls/UploadWindow.js
+++ b/bin/backend/controls/UploadWindow.js
@@ -43,7 +43,7 @@ define('package/quiqqer/ckeditor4/bin/backend/controls/UploadWindow', [
 
             this.addEvents({
                 onOpen: this.$onOpen,
-                submit: this.$onSubmit
+                onSubmit: this.$onSubmit
             });
 
         },
@@ -52,8 +52,6 @@ define('package/quiqqer/ckeditor4/bin/backend/controls/UploadWindow', [
          * Calls the ajax function to get the labels from gitlab and sets up its controls.
          */
         $onOpen: function () {
-            var self = this;
-
             var Content = this.getContent();
 
             this.$Upload = new UploadForm({
@@ -61,7 +59,7 @@ define('package/quiqqer/ckeditor4/bin/backend/controls/UploadWindow', [
                 sendbutton  : false,
                 cancelbutton: false,
                 events      : {
-                    onComplete: self.$onComplete
+                    onComplete: this.$onComplete
                 },
                 styles      : {
                     height: '80%'
diff --git a/plugins/quiqqer/qui-font-awesome/images/button.png b/plugins/quiqqer/qui-font-awesome/images/button.png
new file mode 100644
index 0000000000000000000000000000000000000000..566825b3d529452bce220913b272df5ad2ae96e8
Binary files /dev/null and b/plugins/quiqqer/qui-font-awesome/images/button.png differ
diff --git a/plugins/quiqqer/qui-font-awesome/lang/de.js b/plugins/quiqqer/qui-font-awesome/lang/de.js
new file mode 100644
index 0000000000000000000000000000000000000000..9fa827ccb6d452653f9fca61a1cc8d2df4fec95d
--- /dev/null
+++ b/plugins/quiqqer/qui-font-awesome/lang/de.js
@@ -0,0 +1,4 @@
+CKEDITOR.plugins.setLang('qui-font-awesome', 'de', {
+    button: 'Font-Awesome'
+
+});
diff --git a/plugins/quiqqer/qui-font-awesome/plugin.js b/plugins/quiqqer/qui-font-awesome/plugin.js
new file mode 100644
index 0000000000000000000000000000000000000000..0e3dd54d0a56eadef8e5056719fad9fc03269858
--- /dev/null
+++ b/plugins/quiqqer/qui-font-awesome/plugin.js
@@ -0,0 +1,52 @@
+(function () {
+    "use strict";
+    console.log(CKEDITOR);
+
+
+    CKEDITOR.plugins.add('qui-font-awesome', {
+        icons: "icon",
+        lang : ['en', 'de'],
+        init : function (editor) {
+            console.log("Init");
+
+            this.$Editor = editor;
+            var self     = this;
+
+            editor.ui.addButton('FontAwesome', {
+                label  : "Font-Awesome",
+                toolbar: 'insert',
+                command: 'insert-fa',
+                icon   : this.path + 'images/button.png'
+            });
+
+
+            editor.addCommand('insert-fa', {
+                exec: function (editor) {
+
+                    require(["controls/icons/Confirm"], function (FontAwesomeDialog) {
+                        var window = new FontAwesomeDialog({});
+
+                        window.addEvent("submit", function (dialog, selected) {
+                            console.log("Submit");
+                            if (selected.length === 0) {
+                                return;
+                            }
+                            console.log("Insert");
+                            self.insertIcon(selected[0]);
+
+                        });
+
+                        window.open();
+                    });
+
+
+                }
+            });
+        },
+
+        insertIcon: function (classname) {
+            this.$Editor.insertHtml('<span class="' + classname + '">&nbsp;</span>');
+        }
+    });
+})();
+