diff --git a/org.eclipse.nebula.widgets.nattable.core.example/src/org/eclipse/nebula/widgets/nattable/core/example/impl/MultiViewportExample.xtend b/org.eclipse.nebula.widgets.nattable.core.example/src/org/eclipse/nebula/widgets/nattable/core/example/impl/MultiViewportExample.xtend
index a5d6d53..8fa55f1 100644
--- a/org.eclipse.nebula.widgets.nattable.core.example/src/org/eclipse/nebula/widgets/nattable/core/example/impl/MultiViewportExample.xtend
+++ b/org.eclipse.nebula.widgets.nattable.core.example/src/org/eclipse/nebula/widgets/nattable/core/example/impl/MultiViewportExample.xtend
@@ -20,6 +20,7 @@
 					)
 					horizontalAxis.minPixelLocation = 0
 					horizontalAxis.maxPixelSize = 150
+					verticalScrollBarVisible = false
 				]
 			val viewportTwo = new ViewportLayer => [
 					underlyingLayer = new DummyLayer(
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/viewport/ViewportLayer.xtend b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/viewport/ViewportLayer.xtend
index d0311fe..4b103db 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/viewport/ViewportLayer.xtend
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/viewport/ViewportLayer.xtend
@@ -12,6 +12,9 @@
 	ViewportAxis horizontalAxis
 	ViewportAxis verticalAxis
 	
+	boolean horizontalScrollBarVisible = true
+	boolean verticalScrollBarVisible = true
+	
 	new() {}
 	
 	new(Layer underlyingLayer) {
@@ -22,6 +25,10 @@
 		setUnderlyingLayer(underlyingLayer)
 	}
 	
+	// Underlying layer
+	
+	def BigLayer getUnderlyingLayer() { underlyingLayer }
+	
 	def void setUnderlyingLayer(Layer underlyingLayer) {
 		setUnderlyingLayer(new NotSoBigLayer(underlyingLayer))
 	}
@@ -34,15 +41,25 @@
 		verticalAxis = new ViewportAxis(underlyingLayer.verticalAxis, [| fireEvent(new ScrollEvent) ])
 	}
 	
+	// Axes
+	
 	def setHorizontalAxis(ViewportAxis horizontalAxis) { this.horizontalAxis = horizontalAxis }
 	def setVerticalAxis(ViewportAxis verticalAxis) { this.verticalAxis = verticalAxis }
 	
+	// Visible pixel rectangle
+	
 	def void setVisiblePixelRectangle(PixelRectangle visiblePixelRectangle) {
 		horizontalAxis.visiblePixelSize = visiblePixelRectangle.width
 		verticalAxis.visiblePixelSize = visiblePixelRectangle.height
 	}
 	
-	def BigLayer getUnderlyingLayer() { underlyingLayer }
+	// Scrollbars
+	
+	def isHorizontalScrollBarVisible() { horizontalScrollBarVisible }
+	def setHorizontalScrollBarVisible(boolean horizontalScrollBarVisible) { this.horizontalScrollBarVisible = horizontalScrollBarVisible }
+	
+	def isVerticalScrollBarVisible() { verticalScrollBarVisible }
+	def setVerticalScrollBarVisible(boolean verticalScrollBarVisible) { this.verticalScrollBarVisible = verticalScrollBarVisible }
 	
 	// Layer interface
 	
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
index 912b0dc..c9a57bf 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
@@ -50,7 +50,9 @@
 		
 		// ScrollBar handlers
 		val horizontalScrollBarHandler = new ScrollBarHandler(viewportCanvas.horizontalBar, viewportLayer.horizontalAxis)
+		horizontalScrollBarHandler.scrollBarVisible = viewportLayer.horizontalScrollBarVisible
 		val verticalScrollBarHandler = new ScrollBarHandler(viewportCanvas.verticalBar, viewportLayer.verticalAxis)
+		verticalScrollBarHandler.scrollBarVisible = viewportLayer.verticalScrollBarVisible
 		
 		viewportCanvas.horizontalBar.addListener(SWT::Selection, horizontalScrollBarHandler)
 		viewportCanvas.verticalBar.addListener(SWT::Selection, verticalScrollBarHandler)
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
index 71d70f1..60058bb 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
@@ -22,7 +22,9 @@
 	val BigDecimal minThumbSize
 	val int minIncrement
 	val int minPageIncrement
-
+	
+	boolean isScrollBarVisible = true
+	
 	new(ScrollBar scrollBar, ViewportAxis viewportAxis) {
 		this.scrollBar = scrollBar
 		this.viewportAxis = viewportAxis
@@ -39,7 +41,11 @@
 	def getMinThumbSize() { minThumbSize }
 	def getMinIncrement() { minIncrement }
 	def getMinPageIncrement() { minPageIncrement }
-
+	
+	def setScrollBarVisible(boolean isScrollBarVisible) {
+		this.isScrollBarVisible = isScrollBarVisible
+	}
+	
 	/**
 	 * SWT event handler
 	 */
@@ -100,7 +106,7 @@
 			scrollBar.selection = (viewportOrigin * intPerPixelRatio).intValue
 			
 			scrollBar.enabled = true
-			scrollBar.visible = true
+			scrollBar.visible = isScrollBarVisible
 		} else {
 			scrollBar.enabled = false
 			scrollBar.visible = false
