diff --git a/scribus/scribus.cpp b/scribus/scribus.cpp
index fb61617..5505d87 100644
--- a/scribus/scribus.cpp
+++ b/scribus/scribus.cpp
@@ -4880,7 +4880,7 @@ void ScribusMainWindow::SelectAllOnLayer()
 {
 	ColorList UsedC;
 	doc->getUsedColors(UsedC);
-	QScopedPointer<selectDialog> dia(new selectDialog(this, UsedC, doc->unitIndex()));
+	QScopedPointer<selectDialog> dia(new selectDialog(this, doc, UsedC, doc->unitIndex()));
 	if (!dia->exec())
 		return;
 
@@ -4901,6 +4901,7 @@ void ScribusMainWindow::SelectAllOnLayer()
 				continue;
 			if (dia->useAttributes())
 			{
+				bool useParagraphStyle = false;
 				bool useType = false;
 				bool useFill = false;
 				bool useLine = false;
@@ -4908,7 +4909,8 @@ void ScribusMainWindow::SelectAllOnLayer()
 				bool usePrint = false;
 				bool useLocked = false;
 				bool useResize = false;
-				dia->getUsedAttributes(useType, useFill, useLine, useLWidth, usePrint, useLocked, useResize);
+				dia->getUsedAttributes(useParagraphStyle, useType, useFill, useLine, useLWidth, usePrint, useLocked, useResize);
+				int ParagraphStyle = 0;
 				int Type = 0;
 				QString fill;
 				QString line;
@@ -4916,8 +4918,12 @@ void ScribusMainWindow::SelectAllOnLayer()
 				bool Print = false;
 				bool Locked = false;
 				bool Resize = false;
-				dia->getUsedAttributesValues(Type, fill, line, LWidth, Print, Locked, Resize);
+				dia->getUsedAttributesValues(ParagraphStyle, Type, fill, line, LWidth, Print, Locked, Resize);
 				LWidth = LWidth / doc->unitRatio();
+				if (useParagraphStyle
+						&& ParagraphStyle < doc->paragraphStyles().count()
+						&& !currItem->currentStyle().displayName().contains(doc->paragraphStyles()[ParagraphStyle].displayName()))
+					continue;
 				if (useType && (Type != currItem->realItemType()))
 					continue;
 				if (useFill && ((fill != currItem->fillColor()) || (currItem->GrType != 0)))
diff --git a/scribus/ui/selectobjects.cpp b/scribus/ui/selectobjects.cpp
index e0b3e53..d7fe174 100644
--- a/scribus/ui/selectobjects.cpp
+++ b/scribus/ui/selectobjects.cpp
@@ -28,11 +28,16 @@ for which a new license (GPL+exception) is in place.
 #include "commonstrings.h"
 #include "iconmanager.h"
 
-selectDialog::selectDialog(QWidget* parent, const ColorList &availableColors, int unitIndex) : QDialog(parent)
+selectDialog::selectDialog(QWidget* parent, ScribusDoc* document, const ColorList &availableColors, int unitIndex) : QDialog(parent)
 {
 	setupUi(this);
 	setModal(true);
 	setWindowIcon(IconManager::instance().loadIcon("app-icon"));
+	m_paragraphStyles = document->getSortedStyleList();
+	for (auto &styleId : m_paragraphStyles)
+	{
+		paragraphStyleCombo->addItem(document->paragraphStyles()[styleId].displayName());
+	}
 	backgroundCombo->setPixmapType(ColorCombo::fancyPixmaps);
 	backgroundCombo->setColors(availableColors, true);
 	lineCombo->setPixmapType(ColorCombo::fancyPixmaps);
@@ -59,8 +64,9 @@ bool selectDialog::useAttributes() const
 	return attributeGroup->isChecked();
 }
 
-void selectDialog::getUsedAttributes(bool &Type, bool &Fill, bool &Line, bool &LWidth, bool &Print, bool &Locked, bool &Resize)
+void selectDialog::getUsedAttributes(bool &ParagraphStyle, bool &Type, bool &Fill, bool &Line, bool &LWidth, bool &Print, bool &Locked, bool &Resize)
 {
+	ParagraphStyle = useParagraphStyle->isChecked();
 	Type = useItemType->isChecked();
 	Fill = useFillColor->isChecked();
 	Line = useLineColor->isChecked();
@@ -70,8 +76,12 @@ void selectDialog::getUsedAttributes(bool &Type, bool &Fill, bool &Line, bool &L
 	Resize = useResizeState->isChecked();
 }
 
-void selectDialog::getUsedAttributesValues(int &Type, QString &Fill, QString &Line, double &LWidth, bool &Print, bool &Locked, bool &Resize)
+void selectDialog::getUsedAttributesValues(int &ParagraphStyle, int &Type, QString &Fill, QString &Line, double &LWidth, bool &Print, bool &Locked, bool &Resize)
 {
+	if (useParagraphStyle->isChecked())
+	{
+		ParagraphStyle = m_paragraphStyles.at(paragraphStyleCombo->currentIndex());
+	}
 	if (useItemType->isChecked())
 	{
 		Type = itemTypeCombo->currentIndex();
diff --git a/scribus/ui/selectobjects.h b/scribus/ui/selectobjects.h
index 1d473e2..68df73f 100644
--- a/scribus/ui/selectobjects.h
+++ b/scribus/ui/selectobjects.h
@@ -37,13 +37,15 @@ class SCRIBUS_API selectDialog : public QDialog, Ui::selectDialog
 	Q_OBJECT
 
 public:
-	selectDialog(QWidget* parent, const ColorList &availableColors, int unitIndex);
+	selectDialog(QWidget* parent, ScribusDoc* document, const ColorList &availableColors, int unitIndex);
 	~selectDialog() {};
 
 	int getSelectionRange() const;
 	bool useAttributes() const;
-	void getUsedAttributes(bool &Type, bool &Fill, bool &Line, bool &LWidth, bool &Print, bool &Locked, bool &Resize);
-	void getUsedAttributesValues(int &Type, QString &Fill, QString &Line, double &LWidth, bool &Print, bool &Locked, bool &Resize);
+	void getUsedAttributes(bool &ParagraphStyle, bool &Type, bool &Fill, bool &Line, bool &LWidth, bool &Print, bool &Locked, bool &Resize);
+	void getUsedAttributesValues(int &ParagraphStyle, int &Type, QString &Fill, QString &Line, double &LWidth, bool &Print, bool &Locked, bool &Resize);
+private:
+	QList<int> m_paragraphStyles;
 };
 
 #endif 
diff --git a/scribus/ui/selectobjects.ui b/scribus/ui/selectobjects.ui
index 1af2fea..6760999 100644
--- a/scribus/ui/selectobjects.ui
+++ b/scribus/ui/selectobjects.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>423</width>
-    <height>321</height>
+    <width>457</width>
+    <height>388</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -20,30 +20,30 @@
    <string>Select All Items</string>
   </property>
   <property name="modal">
-   <bool>true</bool>
-  </property>
-  <layout class="QVBoxLayout">
-   <property name="leftMargin">
-    <number>9</number>
-   </property>
-   <property name="topMargin">
-    <number>9</number>
-   </property>
-   <property name="rightMargin">
-    <number>9</number>
-   </property>
-   <property name="bottomMargin">
-    <number>9</number>
-   </property>
-   <item>
-    <widget class="QGroupBox" name="rangeGroup">
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout">
+   <property name="leftMargin">
+    <number>9</number>
+   </property>
+   <property name="topMargin">
+    <number>9</number>
+   </property>
+   <property name="rightMargin">
+    <number>9</number>
+   </property>
+   <property name="bottomMargin">
+    <number>9</number>
+   </property>
+   <item>
+    <widget class="QGroupBox" name="rangeGroup">
      <property name="title">
-      <string>Select All Items</string>
-     </property>
-     <layout class="QHBoxLayout">
-      <item>
-       <widget class="QRadioButton" name="buttonCurrentPage">
-        <property name="toolTip">
+      <string>Select All Items</string>
+     </property>
+     <layout class="QHBoxLayout">
+      <item>
+       <widget class="QRadioButton" name="buttonCurrentPage">
+        <property name="toolTip">
          <string>Select all items on the current page</string>
         </property>
         <property name="text">
@@ -89,20 +89,88 @@
       <bool>true</bool>
      </property>
      <property name="checked">
-      <bool>false</bool>
-     </property>
-     <layout class="QGridLayout">
-      <item row="0" column="0">
-       <widget class="QCheckBox" name="useItemType">
-        <property name="toolTip">
-         <string>Select based on item type</string>
+      <bool>false</bool>
+     </property>
+     <layout class="QGridLayout">
+      <item row="2" column="1">
+       <widget class="ColorCombo" name="backgroundCombo">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="6" column="0">
+       <widget class="QCheckBox" name="useLockedState">
+        <property name="toolTip">
+         <string>Select items based on their locked status</string>
         </property>
         <property name="text">
-         <string>Item Type</string>
+         <string>Locked</string>
         </property>
        </widget>
       </item>
-      <item row="0" column="1">
+      <item row="5" column="0">
+       <widget class="QCheckBox" name="usePrintState">
+        <property name="toolTip">
+         <string>Select items based on whether they will be printed or not</string>
+        </property>
+        <property name="text">
+         <string>Printable</string>
+        </property>
+       </widget>
+      </item>
+      <item row="4" column="1">
+       <widget class="ScrSpinBox" name="lineWidthSpin">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="4" column="0">
+       <widget class="QCheckBox" name="useLineWidth">
+        <property name="toolTip">
+         <string>Select based on the width of the line of the item</string>
+        </property>
+        <property name="text">
+         <string>Line Width</string>
+        </property>
+       </widget>
+      </item>
+      <item row="7" column="1">
+       <widget class="QComboBox" name="resizeStateCombo">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <item>
+         <property name="text">
+          <string>Yes</string>
+         </property>
+        </item>
+        <item>
+         <property name="text">
+          <string>No</string>
+         </property>
+        </item>
+       </widget>
+      </item>
+      <item row="5" column="1">
+       <widget class="QComboBox" name="printStateCombo">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <item>
+         <property name="text">
+          <string>Yes</string>
+         </property>
+        </item>
+        <item>
+         <property name="text">
+          <string>No</string>
+         </property>
+        </item>
+       </widget>
+      </item>
+      <item row="1" column="1">
        <widget class="QComboBox" name="itemTypeCombo">
         <property name="enabled">
          <bool>false</bool>
@@ -144,24 +212,24 @@
         </item>
        </widget>
       </item>
-      <item row="1" column="0">
-       <widget class="QCheckBox" name="useFillColor">
+      <item row="7" column="0">
+       <widget class="QCheckBox" name="useResizeState">
         <property name="toolTip">
-         <string>Select based on the color that the item is filled with</string>
+         <string>Select items based on whether they have their size locked or not</string>
         </property>
         <property name="text">
-         <string>Fill Color</string>
+         <string>Resizable</string>
         </property>
        </widget>
       </item>
-      <item row="1" column="1">
-       <widget class="ColorCombo" name="backgroundCombo">
+      <item row="3" column="1">
+       <widget class="ColorCombo" name="lineCombo">
         <property name="enabled">
          <bool>false</bool>
         </property>
        </widget>
       </item>
-      <item row="2" column="0">
+      <item row="3" column="0">
        <widget class="QCheckBox" name="useLineColor">
         <property name="toolTip">
          <string>Select based on the color of the line or outline</string>
@@ -171,68 +239,27 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="1">
-       <widget class="ColorCombo" name="lineCombo">
-        <property name="enabled">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="0">
-       <widget class="QCheckBox" name="useLineWidth">
-        <property name="toolTip">
-         <string>Select based on the width of the line of the item</string>
-        </property>
-        <property name="text">
-         <string>Line Width</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="1">
-       <widget class="ScrSpinBox" name="lineWidthSpin">
-        <property name="enabled">
-         <bool>false</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="4" column="0">
-       <widget class="QCheckBox" name="usePrintState">
+      <item row="1" column="0">
+       <widget class="QCheckBox" name="useItemType">
         <property name="toolTip">
-         <string>Select items based on whether they will be printed or not</string>
+         <string>Select based on item type</string>
         </property>
         <property name="text">
-         <string>Printable</string>
-        </property>
-       </widget>
-      </item>
-      <item row="4" column="1">
-       <widget class="QComboBox" name="printStateCombo">
-        <property name="enabled">
-         <bool>false</bool>
+         <string>Item Type</string>
         </property>
-        <item>
-         <property name="text">
-          <string>Yes</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>No</string>
-         </property>
-        </item>
        </widget>
       </item>
-      <item row="5" column="0">
-       <widget class="QCheckBox" name="useLockedState">
+      <item row="2" column="0">
+       <widget class="QCheckBox" name="useFillColor">
         <property name="toolTip">
-         <string>Select items based on their locked status</string>
+         <string>Select based on the color that the item is filled with</string>
         </property>
         <property name="text">
-         <string>Locked</string>
+         <string>Fill Color</string>
         </property>
        </widget>
       </item>
-      <item row="5" column="1">
+      <item row="6" column="1">
        <widget class="QComboBox" name="lockStateCombo">
         <property name="enabled">
          <bool>false</bool>
@@ -252,31 +279,21 @@
         </item>
        </widget>
       </item>
-      <item row="6" column="0">
-       <widget class="QCheckBox" name="useResizeState">
+      <item row="0" column="0">
+       <widget class="QCheckBox" name="useParagraphStyle">
         <property name="toolTip">
-         <string>Select items based on whether they have their size locked or not</string>
+         <string>Select based on item type</string>
         </property>
         <property name="text">
-         <string>Resizable</string>
+         <string>Paragraph Style</string>
         </property>
        </widget>
       </item>
-      <item row="6" column="1">
-       <widget class="QComboBox" name="resizeStateCombo">
+      <item row="0" column="1">
+       <widget class="QComboBox" name="paragraphStyleCombo">
         <property name="enabled">
          <bool>false</bool>
         </property>
-        <item>
-         <property name="text">
-          <string>Yes</string>
-         </property>
-        </item>
-        <item>
-         <property name="text">
-          <string>No</string>
-         </property>
-        </item>
        </widget>
       </item>
      </layout>
@@ -285,10 +302,10 @@
    <item>
     <widget class="QDialogButtonBox" name="buttonBox">
      <property name="orientation">
-      <enum>Qt::Horizontal</enum>
+      <enum>Qt::Orientation::Horizontal</enum>
      </property>
      <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+      <set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
      </property>
     </widget>
    </item>
@@ -452,5 +469,21 @@
     </hint>
    </hints>
   </connection>
+  <connection>
+   <sender>useParagraphStyle</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>paragraphStyleCombo</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>123</x>
+     <y>127</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>333</x>
+     <y>127</y>
+    </hint>
+   </hints>
+  </connection>
  </connections>
 </ui>
