diff --git a/frappe/__init__.py b/frappe/__init__.py
index fde8f720abee674a6ed096ada93a05584f65b81a..8ba0dc0f61b29c482c3868e1394b8f1fb55ff808 100644
--- a/frappe/__init__.py
+++ b/frappe/__init__.py
@@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json
 from .exceptions import *
 from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template
 
-__version__ = '9.1.4'
+__version__ = '9.1.5'
 __title__ = "Frappe Framework"
 
 local = Local()
diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js
index 93fdabdb2750fc23c696c56c61085dad5984a149..63162692cc811f83ee4745b998cc27c1e84d338f 100644
--- a/frappe/public/js/frappe/form/grid.js
+++ b/frappe/public/js/frappe/form/grid.js
@@ -561,6 +561,7 @@ frappe.ui.form.Grid = Class.extend({
 			me.setup_download();
 
 			// upload
+			frappe.flags.no_socketio = true;
 			$(this.wrapper).find(".grid-upload").removeClass("hide").on("click", function() {
 				frappe.prompt({fieldtype:"Attach", label:"Upload File"},
 					function(data) {
diff --git a/frappe/public/js/frappe/upload.js b/frappe/public/js/frappe/upload.js
index f8face91fb850a836c636af7d218dc92aeee177a..4a8cb0c7c0d5a81f21b819ec9dafef8c6fdcd506 100644
--- a/frappe/public/js/frappe/upload.js
+++ b/frappe/public/js/frappe/upload.js
@@ -239,12 +239,12 @@ frappe.upload = {
 		}
 	},
 
-	_upload_file: function(fileobj, args, opts) {
+	_upload_file: function(fileobj, args, opts, dataurl) {
 		if (args.file_size) {
 			frappe.upload.validate_max_file_size(args.file_size);
 		}
 		if(opts.on_attach) {
-			opts.on_attach(args)
+			opts.on_attach(args, dataurl)
 		} else {
 			if (opts.confirm_is_private) {
 				frappe.prompt({
@@ -291,7 +291,7 @@ frappe.upload = {
 			freader.readAsDataURL(fileobj);
 		}
 
-		if (opts.no_socketio) {
+		if (opts.no_socketio || frappe.flags.no_socketio) {
 			upload_with_filedata();
 			return;
 		}