diff --git a/lib/te3270/emulators/quick3270.rb b/lib/te3270/emulators/quick3270.rb
index <HASH>..<HASH> 100644
--- a/lib/te3270/emulators/quick3270.rb
+++ b/lib/te3270/emulators/quick3270.rb
@@ -11,10 +11,14 @@ module TE3270
       def connect
         start_quick_system
         yield self if block_given?
-
         establish_session
       end
 
+      def disconnect
+        session.Disconnect
+        system.Application.Quit
+      end
+
       private
 
       def visible
diff --git a/spec/lib/te3270/emulators/quick3270_spec.rb b/spec/lib/te3270/emulators/quick3270_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/lib/te3270/emulators/quick3270_spec.rb
+++ b/spec/lib/te3270/emulators/quick3270_spec.rb
@@ -46,5 +46,14 @@ describe TE3270::Emulators::Quick3270 do
       quick_session.should_receive(:Connect)
       quick.connect
     end
+
+    it 'should disconnect from a session' do
+      application = double('application')
+      quick_session.should_receive(:Disconnect)
+      quick_system.should_receive(:Application).and_return(application)
+      application.should_receive(:Quit)
+      quick.connect
+      quick.disconnect
+    end
   end
 end
\ No newline at end of file
added disconnect method to quick<I>