diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js
index beb8b01c8a8934d75ed416f9f400b07648e5ddfe..74afbc9fe0229b12623d102020fe99d445ffee52 100644
--- a/core/js/sharedialoglinkshareview.js
+++ b/core/js/sharedialoglinkshareview.js
@@ -151,8 +151,9 @@
 		},
 
 		onLinkTextClick: function() {
-			this.focus();
-			this.select();
+			var $el = this.$el.find('.linkText');
+			$el.focus();
+			$el.select();
 		},
 
 		onShowPasswordClick: function() {
diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js
index 1c05bf219684e7570824edabfc9874e81957262b..a557ff6f03b19de9d33dde471d3008d5a638d6e2 100644
--- a/core/js/tests/specs/sharedialogviewSpec.js
+++ b/core/js/tests/specs/sharedialogviewSpec.js
@@ -237,6 +237,29 @@ describe('OC.Share.ShareDialogView', function() {
 			expect(dialog.$el.find('.linkCheckbox').prop('checked')).toEqual(true);
 			expect(dialog.$el.find('.linkText').val()).toEqual(link);
 		});
+		it('autofocus link text when clicked', function() {
+			$('#allowShareWithLink').val('yes');
+
+			dialog.render();
+
+			// Toggle linkshare
+			dialog.$el.find('.linkCheckbox').click();
+			fakeServer.requests[0].respond(
+				200,
+				{ 'Content-Type': 'application/json' },
+				JSON.stringify({data: {token: 'xyz'}, status: 'success'})
+			);
+
+			var focusStub = sinon.stub($.fn, 'focus');
+			var selectStub = sinon.stub($.fn, 'select');
+			dialog.$el.find('.linkText').click();
+
+			expect(focusStub.calledOnce).toEqual(true);
+			expect(selectStub.calledOnce).toEqual(true);
+
+			focusStub.restore();
+			selectStub.restore();
+		});
 		describe('password', function() {
 			var slideToggleStub;