diff --git a/app/code/Magento/Wishlist/view/frontend/web/js/add-to-wishlist.js b/app/code/Magento/Wishlist/view/frontend/web/js/add-to-wishlist.js
index baba22455a45b56fbd38e11331a0251a9252aa25..709b552bf5727d9388944ba3fcdc6eb5febda9fa 100644
--- a/app/code/Magento/Wishlist/view/frontend/web/js/add-to-wishlist.js
+++ b/app/code/Magento/Wishlist/view/frontend/web/js/add-to-wishlist.js
@@ -32,7 +32,8 @@ define([
             this._on(events);
         },
         _updateWishlistData: function(event) {
-            var dataToAdd = {};
+            var dataToAdd = {},
+                isFileUploaded = false;
             if (event.handleObj.selector == this.options.qtyInfo) {
                 this._updateAddToWishlistButton({});
                 event.stopPropagation();
@@ -41,20 +42,24 @@ define([
             var self = this;
             $(event.handleObj.selector).each(function(index, element){
                 if ($(element).is('input[type=text]')
-                    || $(element).is('textarea')) {
+                    || $(element).is('input[type=checkbox]:checked')
+                    || $(element).is('input[type=radio]:checked')
+                    || $('#' + element.id + ' option:selected').length
+                    || $(element).is('textarea')
+                ) {
                     dataToAdd = $.extend({}, dataToAdd, self._getElementData(element));
                     return;
                 }
-                if ($(element).is('input[type=file]')) {
+                if ($(element).is('input[type=file]') && $(element).val()) {
                     var hidden = $('input[name=' + $(element).attr('name') + '_action]');
                     dataToAdd = $.extend({}, dataToAdd, self._getElementData(hidden));
-                    return;
-                }
-                if ($(element).is(':checked')
-                    || $(element).find(':checked').length) {
-                    dataToAdd = $.extend({}, dataToAdd, self._getElementData(element));
+                    isFileUploaded = true;
                 }
             });
+            console.log(dataToAdd);
+            if (isFileUploaded) {
+                this.bindFormSubmit();
+            }
             this._updateAddToWishlistButton(dataToAdd);
             event.stopPropagation();
         },
@@ -107,6 +112,23 @@ define([
             $.each(dataToRemove, function(key, value) {
                 delete params.data[key];
             });
+        },
+        bindFormSubmit: function() {
+            var self = this;
+            $('[data-action="add-to-wishlist"]').on('click', function(event) {
+                event.stopPropagation();
+                event.preventDefault();
+
+                var element = $('input[type=file]' + self.options.customOptionsInfo),
+                    params = $(event.currentTarget).data('post'),
+                    form = $(element).closest('form'),
+                    action = params.action;
+                if (params.data.uenc) {
+                    action += 'uenc/' + params.data.uenc;
+                }
+
+                $(form).attr('action', action).submit();
+            });
         }
     });