diff --git a/indra/newview/llfloateroutbox.cpp b/indra/newview/llfloateroutbox.cpp
index 28589f5e9a47455fbc1d98a13f76665a44f394a4..130c26acdc2365f596b82c5456dd2fbc1d57f55a 100644
--- a/indra/newview/llfloateroutbox.cpp
+++ b/indra/newview/llfloateroutbox.cpp
@@ -438,7 +438,6 @@ void LLFloaterOutbox::importReportResults(U32 status, const LLSD& content)
 		LLSD subs;
 		subs["[ERROR_CODE]"] = status_string;
 		
-		//llassert(status == MarketplaceErrorCodes::IMPORT_JOB_FAILED);
 		LLNotificationsUtil::add("OutboxImportFailed", subs);
 	}
 	
diff --git a/indra/newview/llmarketplacefunctions.cpp b/indra/newview/llmarketplacefunctions.cpp
index ea6634a39ef67bbb7fb6202d9d22604a0ee50cf2..84cbe3cac22ef395852e97d794e2e2155e25ecf5 100644
--- a/indra/newview/llmarketplacefunctions.cpp
+++ b/indra/newview/llmarketplacefunctions.cpp
@@ -133,6 +133,17 @@ namespace LLMarketplaceImport
 				llinfos << " SLM POST content: " << content.asString() << llendl;
 			}
 
+			if ((status == MarketplaceErrorCodes::IMPORT_REDIRECT) ||
+				(status == MarketplaceErrorCodes::IMPORT_AUTHENTICATION_ERROR))
+			{
+				if (gSavedSettings.getBOOL("InventoryOutboxLogging"))
+				{
+					llinfos << " SLM POST clearing marketplace cookie due to authentication failure" << llendl;
+				}
+
+				sMarketplaceCookie.clear();
+			}
+
 			sImportInProgress = (status == MarketplaceErrorCodes::IMPORT_DONE);
 			sImportPostPending = false;
 			sImportResultStatus = status;
@@ -330,16 +341,6 @@ LLMarketplaceInventoryImporter::LLMarketplaceInventoryImporter()
 {
 }
 
-void LLMarketplaceInventoryImporter::initialize()
-{
-	llassert(!mInitialized);
-	
-	if (!LLMarketplaceImport::hasSessionCookie())
-	{
-		LLMarketplaceImport::establishMarketplaceSessionCookie();
-	}
-}
-
 boost::signals2::connection LLMarketplaceInventoryImporter::setInitializationErrorCallback(const status_report_signal_t::slot_type& cb)
 {
 	if (mErrorInitSignal == NULL)
@@ -370,17 +371,32 @@ boost::signals2::connection LLMarketplaceInventoryImporter::setStatusReportCallb
 	return mStatusReportSignal->connect(cb);
 }
 
+void LLMarketplaceInventoryImporter::initialize()
+{
+	llassert(!mInitialized);
+
+	if (!LLMarketplaceImport::hasSessionCookie())
+	{
+		LLMarketplaceImport::establishMarketplaceSessionCookie();
+	}
+}
+
+void LLMarketplaceInventoryImporter::reinitializeAndTriggerImport()
+{
+	mInitialized = false;
+
+	initialize();
+
+	mAutoTriggerImport = true;
+}
+
 bool LLMarketplaceInventoryImporter::triggerImport()
 {
 	const bool import_triggered = LLMarketplaceImport::triggerImport();
 	
 	if (!import_triggered)
 	{
-		mInitialized = false;
-
-		initialize();
-		
-		mAutoTriggerImport = true;
+		reinitializeAndTriggerImport();
 	}
 	
 	return import_triggered;
@@ -396,23 +412,14 @@ void LLMarketplaceInventoryImporter::updateImport()
 		
 		if (!polling_status)
 		{
-			mInitialized = false;
-			
-			initialize();
-			
-			mAutoTriggerImport = true;
+			reinitializeAndTriggerImport();
 		}
 	}	
 	
 	if (mImportInProgress != in_progress)
 	{
 		mImportInProgress = in_progress;
-		
-		if (mStatusChangedSignal)
-		{
-			(*mStatusChangedSignal)(mImportInProgress);
-		}
-		
+
 		// If we are no longer in progress
 		if (!mImportInProgress)
 		{
@@ -436,7 +443,7 @@ void LLMarketplaceInventoryImporter::updateImport()
 					{
 						mAutoTriggerImport = false;
 
-						triggerImport();
+						mImportInProgress = triggerImport();
 					}
 				}
 				else if (mErrorInitSignal)
@@ -445,6 +452,12 @@ void LLMarketplaceInventoryImporter::updateImport()
 				}
 			}
 		}
+
+		// Make sure we trigger the status change with the final state (in case of auto trigger after initialize)
+		if (mStatusChangedSignal)
+		{
+			(*mStatusChangedSignal)(mImportInProgress);
+		}
 	}
 }
 
diff --git a/indra/newview/llmarketplacefunctions.h b/indra/newview/llmarketplacefunctions.h
index b2f6cb7521d39399edf1cd31c598bcf95f332a3f..78df86ef3e7f92bee6048a95ddcd0c6e7b9e2856 100644
--- a/indra/newview/llmarketplacefunctions.h
+++ b/indra/newview/llmarketplacefunctions.h
@@ -46,6 +46,7 @@ namespace MarketplaceErrorCodes
 	{
 		IMPORT_DONE = 200,
 		IMPORT_PROCESSING = 202,
+		IMPORT_REDIRECT = 302,
 		IMPORT_AUTHENTICATION_ERROR = 401,
 		IMPORT_DONE_WITH_ERRORS = 409,
 		IMPORT_JOB_FAILED = 410,
@@ -61,8 +62,6 @@ class LLMarketplaceInventoryImporter
 	
 	LLMarketplaceInventoryImporter();
 	
-	void initialize();
-
 	typedef boost::signals2::signal<void (bool)> status_changed_signal_t;
 	typedef boost::signals2::signal<void (U32, const LLSD&)> status_report_signal_t;
 
@@ -70,10 +69,12 @@ class LLMarketplaceInventoryImporter
 	boost::signals2::connection setStatusChangedCallback(const status_changed_signal_t::slot_type& cb);
 	boost::signals2::connection setStatusReportCallback(const status_report_signal_t::slot_type& cb);
 	
+	void initialize();
 	bool triggerImport();
 	bool isImportInProgress() const { return mImportInProgress; }
 	
 protected:
+	void reinitializeAndTriggerImport();
 	void updateImport();
 	
 private:
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 2269703cb6650ad41a2ac508e39fde0ad6627f59..61346bf3d6563539d3eaf2167d0c6781d690d803 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -230,8 +230,9 @@ All folders were successfully sent to the Marketplace.
    type="outbox">
 Some folders did not transfer
 
-Errors occurred when some folders were sent to the Marketplace.  Those folders are still in your Merchant Outbox.  See the error log for more information.
+Errors occurred when some folders were sent to the Marketplace.  Those folders are still in your Merchant Outbox.
 
+See the error log for more information.
         <usetemplate
          name="okbutton"
          yestext="OK"/>
@@ -245,8 +246,6 @@ Transfer failed
 
 No folders were sent to the Marketplace because of a system or network error.  Try again later.
 
-Error [ERROR_CODE]
-
         <usetemplate
          name="okbutton"
          yestext="OK"/>
@@ -260,8 +259,6 @@ Marketplace initialization failed
 
 Initialization with the Marketplace failed because of a system or network error.  Try again later.
 
-Error [ERROR_CODE]
-
         <usetemplate
          name="okbutton"
          yestext="OK"/>