diff --git a/forms/gridfield/GridFieldPrintButton.php b/forms/gridfield/GridFieldPrintButton.php
index <HASH>..<HASH> 100644
--- a/forms/gridfield/GridFieldPrintButton.php
+++ b/forms/gridfield/GridFieldPrintButton.php
@@ -91,9 +91,14 @@ class GridFieldPrintButton implements GridField_HTMLProvider, GridField_ActionPr
 	 * Export core.
  	 */
 	public function generatePrintData($gridField) {
-		$printColumns = ($this->printColumns)
-			? $this->printColumns
-			: singleton($gridField->getModelClass())->summaryFields();
+		if($this->printColumns) {
+			$printColumns = $this->printColumns;
+		} else if($dataCols = $gridField->getConfig()->getComponentByType('GridFieldDataColumns')) {
+			$printColumns = $dataCols->getDisplayFields($gridField);
+		} else {
+			$printColumns = singleton($gridField->getModelClass())->summaryFields();
+		}
+		
 		$header = null;
 		if($this->printHasHeader){
 			$header = new ArrayList();
Respect displayFields in GridFieldPrintButton

Provides more coherent and expected default behaviour