diff --git a/js/plugins/splittext/plugin.js b/js/plugins/splittext/plugin.js
index 044f4ccea072e259df9da84967dad6e4f2964839..2c1de81c418273c5912949d58f13eb6f86699426 100644
--- a/js/plugins/splittext/plugin.js
+++ b/js/plugins/splittext/plugin.js
@@ -86,6 +86,20 @@
     var selection = editor.getSelection();
     var ranges = selection.getRanges();
 
+    // If cursor set after a text passage(paragraph) then after splitting this
+    // passage will be joined with the previous one. Next rows fix this problem.
+    var firstNode = ranges[0].startContainer;
+    if (ranges[0].startContainer.type === CKEDITOR.SELECTION_ELEMENT) {
+      // If selection begins at the end of paragraph then use parent element.
+      if (firstNode.getLength() === ranges[0].startOffset) {
+        firstNode = ranges[0].startContainer.getParent().getNext();
+        ranges[0].setStartBefore(firstNode);
+      }
+    }
+
+    // Trim all spaces and linebreaks at the beginning of new paragraph.
+    trimElements(firstNode);
+
     // Last node that should be selected to cut content should be text type.
     var lastNode = ranges[0].document.getBody().getLast();
     ranges[0].setEndAfter(lastNode);
@@ -110,6 +124,22 @@
     tmpObject.split_trigger = true;
   };
 
+  /**
+   * Trim all empty elements at the beginning of new paragraph.
+   *
+   * @param {object} element
+   *   Element to check.
+   */
+  var trimElements = function (element) {
+    if (element && !element.getText().trim()) {
+      var next = element.getNext();
+      element.remove();
+      if (next) {
+        trimElements(next);
+      }
+    }
+  };
+
   /**
    * Handler for ajax requests.
    *