diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/RequestToPauseSharing.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/RequestToPauseSharing.as
new file mode 100755
index 0000000000000000000000000000000000000000..0383624e611fe827694b9654fd1720b6fcce506d
--- /dev/null
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/RequestToPauseSharing.as
@@ -0,0 +1,17 @@
+package org.bigbluebutton.modules.screenshare.events 
+{
+	import flash.events.Event;
+	
+    public class RequestToPauseSharing extends Event 
+    {
+        
+        public static const REQUEST_SHARE_PAUSE:String = "screenshare request to pause sharing event";
+        
+        public function RequestToPauseSharing() 
+        {
+            super(REQUEST_SHARE_PAUSE, true, false);
+        }
+        
+    }
+
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
index 45a876e560679dfedcbff9acd503aefa004a2863..02ebfd6a3a1e82ecc2265cde1fcc284f64ac5fce 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as
@@ -147,6 +147,10 @@ package org.bigbluebutton.modules.screenshare.managers {
             service.requestStartSharing();
         }
         
+        public function handleRequestPauseSharingEvent():void {
+            service.requestPauseSharing(ScreenshareModel.getInstance().streamId);
+        }
+        
         public function handleRequestStopSharingEvent():void {
             service.requestStopSharing(ScreenshareModel.getInstance().streamId);
         }
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml
index 18c42c875a842072d5ec31def8cacddeb85890a2..c2d2436a379dac30ff8e3de7908f676d4617fb69 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml
@@ -33,6 +33,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 			import org.bigbluebutton.modules.screenshare.events.ModuleEvent;
 			import org.bigbluebutton.modules.screenshare.events.RequestToStartSharing;
 			import org.bigbluebutton.modules.screenshare.events.RequestToStopSharing;
+            import org.bigbluebutton.modules.screenshare.events.RequestToPauseSharing;
 			import org.bigbluebutton.modules.screenshare.events.ShareEvent;
 			import org.bigbluebutton.modules.screenshare.events.ShareStartRequestResponseEvent;
 			import org.bigbluebutton.modules.screenshare.events.ShareWindowEvent;
@@ -63,6 +64,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
   <EventHandlers type="{RequestToStartSharing.REQUEST_SHARE_START}">
     <MethodInvoker generator="{ScreenshareManager}" method="handleRequestStartSharingEvent"/>
   </EventHandlers>
+    
+  <EventHandlers type="{RequestToPauseSharing.REQUEST_SHARE_PAUSE}">
+    <MethodInvoker generator="{ScreenshareManager}" method="handleRequestPauseSharingEvent"/>
+  </EventHandlers>
   
   <EventHandlers type="{RequestToStopSharing.REQUEST_SHARE_STOP}">
     <MethodInvoker generator="{ScreenshareManager}" method="handleRequestStopSharingEvent"/>
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageSender.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageSender.as
index a76fe86ec31ee290a93950d54c3f4516ecef6564..6371d8c6c72f76bf7a87ff511637c266c5667f48 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageSender.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageSender.as
@@ -41,6 +41,10 @@ package org.bigbluebutton.modules.screenshare.services
     public function stopShareRequest(meetingId: String, streamId: String):void {
       conn.stopShareRequest(meetingId, streamId);
     }
+    
+    public function pauseShareRequest(meetingId: String, userId: String, streamId: String):void {
+      conn.pauseShareRequest(meetingId, userId, streamId);
+    }
 
 					
 	}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
index d031dfa8701207cf29adf53da4aacac7b20d1769..0ec4ef9a494ba25f71f4fed3b9b0ce93970869cf 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as
@@ -88,6 +88,10 @@ package org.bigbluebutton.modules.screenshare.services {
             sender.stopShareRequest(UsersUtil.getInternalMeetingID(), streamId);
         }
         
+        public function requestPauseSharing(streamId:String):void {
+            sender.pauseShareRequest(UsersUtil.getInternalMeetingID(), UsersUtil.getMyUserID(), streamId);
+        }
+        
             
     }
 }
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as
index 4c5719434c08e553ae07de95d92dbab4523497cb..c6237d94915d8a55c9ee8eb74d9e311b72c36055 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as
@@ -179,6 +179,19 @@ package org.bigbluebutton.modules.screenshare.services.red5 {
             }
         }
         
+        public function pauseShareRequest(meetingId:String, userId:String, streamId:String):void {
+            var message:Object = new Object();
+            message["meetingId"] = meetingId;
+            message["userId"] = userId;
+            message["streamId"] = streamId;
+            
+            sendMessage("screenshare.pauseShareRequest", function(result:String):void { // On successful result
+                LOGGER.debug(result);
+            }, function(status:String):void { // status - On error occurred
+                LOGGER.error(status);
+            }, message);
+        }
+        
         public function startShareRequest(meetingId:String, userId:String, record:Boolean):void {
             var message:Object = new Object();
             message["meetingId"] = meetingId;
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
index ded8180164f93ca9b808a924691a4e2371272a61..aa8bee602eb037a58e16d649f9f5b5cf45bce483 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml
@@ -55,6 +55,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       import org.bigbluebutton.main.events.ShortcutEvent;
       import org.bigbluebutton.main.views.MainCanvas;
       import org.bigbluebutton.modules.screenshare.events.RequestToStopSharing;
+      import org.bigbluebutton.modules.screenshare.events.RequestToPauseSharing;
       import org.bigbluebutton.modules.screenshare.events.ShareWindowEvent;
       import org.bigbluebutton.modules.screenshare.events.StartShareRequestSuccessEvent;
       import org.bigbluebutton.modules.screenshare.events.StopSharingButtonEvent;
@@ -199,6 +200,17 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
         closeWindow();
       }
       
+      public function pauseSharing():void {
+        LOGGER.debug("Calling pauseSharing");
+        if (streaming) {
+          stopStream();
+          var streamEvent:RequestToPauseSharing = new RequestToPauseSharing();
+          dispatchEvent(streamEvent);
+        }
+        sharingFullScreen = false;
+        streaming = false;
+      }
+      
       public function stopSharingEvent(evt:StopSharingButtonEvent):void{
         if (streaming) {
           stopStream();
@@ -329,7 +341,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
       override public function close(event:MouseEvent = null):void {
         stopSharing();
         closeWindow();
-      }		
+      }
       
       override protected function resourcesChanged():void{
         super.resourcesChanged();
@@ -407,7 +419,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
                          label="{ResourceUtil.getInstance().getString('bbb.screensharePublish.stop.label')}" 
                          visible="true" 
                          enabled="false" 
-                         click="stopSharing()" 
+                         click="pauseSharing()" 
                          tabIndex="{baseIndex+5}"/>
               <mx:Spacer width="100%"/>
               <mx:Button id="btnRegionPublish"