diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index d992ee0..aca03e3 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -28,6 +28,7 @@
 import static com.android.launcher3.icons.GraphicsUtils.getShapePath;
 import static com.android.launcher3.testing.shared.ResourceUtils.INVALID_RESOURCE_HANDLE;
 import static com.android.launcher3.testing.shared.ResourceUtils.pxFromDp;
+import static com.android.launcher3.testing.shared.ResourceUtils.roundPxValueFromFloat;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
@@ -377,7 +378,7 @@
 
         folderLabelTextScale = res.getFloat(R.dimen.folder_label_text_scale);
 
-        if (inv.folderStyle != INVALID_RESOURCE_HANDLE) {
+        if (isScalableGrid && inv.folderStyle != INVALID_RESOURCE_HANDLE) {
             TypedArray folderStyle = context.obtainStyledAttributes(inv.folderStyle,
                     R.styleable.FolderStyle);
             // These are re-set in #updateFolderCellSize if the grid is not scalable
@@ -395,7 +396,7 @@
             folderStyle.recycle();
         } else {
             folderCellLayoutBorderSpacePx = 0;
-            folderFooterHeightPx = 0;
+            folderFooterHeightPx = res.getDimensionPixelSize(R.dimen.folder_footer_height_default);
             folderContentPaddingTop = res.getDimensionPixelSize(R.dimen.folder_top_padding_default);
         }
 
@@ -548,6 +549,9 @@
                 cellLayoutPadding);
         updateWorkspacePadding();
 
+        // Folder scaling requires correct workspace paddings
+        updateAvailableFolderCellDimensions(res);
+
         mMinHotseatIconSpacePx = res.getDimensionPixelSize(R.dimen.min_hotseat_icon_space);
         mMinHotseatQsbWidthPx = res.getDimensionPixelSize(R.dimen.min_hotseat_qsb_width);
         mMaxHotseatIconSpacePx = areNavButtonsInline
@@ -875,7 +879,6 @@
             extraHeight = Math.max(0, maxHeight - getCellLayoutHeightSpecification());
         }
 
-        updateAvailableFolderCellDimensions(res);
         return Math.round(extraHeight);
     }
 
@@ -1064,22 +1067,22 @@
     private void updateAvailableFolderCellDimensions(Resources res) {
         updateFolderCellSize(1f, res);
 
-        // Don't let the folder get too close to the edges of the screen.
-        int folderMargin = edgeMarginPx * 2;
+        // For usability we can't have the folder use the whole width of the screen
         Point totalWorkspacePadding = getTotalWorkspacePadding();
 
-        // Check if the icons fit within the available height.
+        // Check if the folder fit within the available height.
         float contentUsedHeight = folderCellHeightPx * inv.numFolderRows
-                + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx);
-        int contentMaxHeight = availableHeightPx - totalWorkspacePadding.y - folderFooterHeightPx
-                - folderMargin - folderContentPaddingTop;
+                + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx)
+                + folderFooterHeightPx
+                + folderContentPaddingTop;
+        int contentMaxHeight = availableHeightPx - totalWorkspacePadding.y;
         float scaleY = contentMaxHeight / contentUsedHeight;
 
-        // Check if the icons fit within the available width.
+        // Check if the folder fit within the available width.
         float contentUsedWidth = folderCellWidthPx * inv.numFolderColumns
-                + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx);
-        int contentMaxWidth = availableWidthPx - totalWorkspacePadding.x - folderMargin
-                - folderContentPaddingLeftRight * 2;
+                + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx)
+                + folderContentPaddingLeftRight * 2;
+        int contentMaxWidth = availableWidthPx - totalWorkspacePadding.x;
         float scaleX = contentMaxWidth / contentUsedWidth;
 
         float scale = Math.min(scaleX, scaleY);
@@ -1092,17 +1095,25 @@
         float invIconSizeDp = inv.iconSize[mTypeIndex];
         folderChildIconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale));
         folderChildTextSizePx = pxFromSp(inv.iconTextSize[mTypeIndex], mMetrics, scale);
-        folderLabelTextSizePx = Math.max(pxFromSp(MIN_FOLDER_TEXT_SIZE_SP, mMetrics),
+        folderLabelTextSizePx = Math.max(pxFromSp(MIN_FOLDER_TEXT_SIZE_SP, mMetrics, scale),
                 (int) (folderChildTextSizePx * folderLabelTextScale));
 
         int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx);
 
         if (isScalableGrid) {
             if (inv.folderStyle == INVALID_RESOURCE_HANDLE) {
-                folderCellWidthPx = pxFromDp(getCellSize().x, mMetrics, scale);
-                folderCellHeightPx = pxFromDp(getCellSize().y, mMetrics, scale);
+                folderCellWidthPx = roundPxValueFromFloat(getCellSize().x * scale);
+                folderCellHeightPx = roundPxValueFromFloat(getCellSize().y * scale);
+            } else {
+                folderCellWidthPx = roundPxValueFromFloat(folderCellWidthPx * scale);
+                folderCellHeightPx = roundPxValueFromFloat(folderCellHeightPx * scale);
             }
 
+            folderContentPaddingTop = roundPxValueFromFloat(folderContentPaddingTop * scale);
+            folderCellLayoutBorderSpacePx = roundPxValueFromFloat(
+                    folderCellLayoutBorderSpacePx * scale);
+            folderFooterHeightPx = roundPxValueFromFloat(folderFooterHeightPx * scale);
+
             folderContentPaddingLeftRight = folderCellLayoutBorderSpacePx;
         } else {
             int cellPaddingX = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_x_padding)
@@ -1112,10 +1123,14 @@
 
             folderCellWidthPx = folderChildIconSizePx + 2 * cellPaddingX;
             folderCellHeightPx = folderChildIconSizePx + 2 * cellPaddingY + textHeight;
+            folderContentPaddingTop = roundPxValueFromFloat(folderContentPaddingTop * scale);
             folderContentPaddingLeftRight =
                     res.getDimensionPixelSize(R.dimen.folder_content_padding_left_right);
             folderFooterHeightPx =
-                    res.getDimensionPixelSize(R.dimen.folder_footer_height_default);
+                    roundPxValueFromFloat(
+                            res.getDimensionPixelSize(R.dimen.folder_footer_height_default)
+                                    * scale);
+
         }
 
         folderChildDrawablePaddingPx = Math.max(0,
diff --git a/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt b/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
index af31e93..86d21f3 100644
--- a/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
+++ b/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
@@ -342,15 +342,15 @@
                     "\ticonDrawablePaddingPx: 0.0px (0.0dp)\n" +
                     "\tinv.numFolderRows: 4\n" +
                     "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 142.0px (54.095238dp)\n" +
-                    "\tfolderCellHeightPx: 168.0px (64.0dp)\n" +
-                    "\tfolderChildIconSizePx: 108.0px (41.142857dp)\n" +
-                    "\tfolderChildTextSizePx: 28.0px (10.666667dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 7.0px (2.6666667dp)\n" +
+                    "\tfolderCellWidthPx: 173.0px (65.90476dp)\n" +
+                    "\tfolderCellHeightPx: 205.0px (78.09524dp)\n" +
+                    "\tfolderChildIconSizePx: 131.0px (49.904762dp)\n" +
+                    "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" +
+                    "\tfolderChildDrawablePaddingPx: 9.0px (3.4285715dp)\n" +
                     "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" +
                     "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
+                    "\tfolderTopPadding: 56.0px (21.333334dp)\n" +
+                    "\tfolderFooterHeight: 131.0px (49.904762dp)\n" +
                     "\tbottomSheetTopPadding: 114.0px (43.42857dp)\n" +
                     "\tbottomSheetOpenDuration: 267\n" +
                     "\tbottomSheetCloseDuration: 267\n" +
@@ -474,15 +474,15 @@
                     "\ticonDrawablePaddingPx: 0.0px (0.0dp)\n" +
                     "\tinv.numFolderRows: 4\n" +
                     "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 128.0px (48.761906dp)\n" +
-                    "\tfolderCellHeightPx: 152.0px (57.904762dp)\n" +
-                    "\tfolderChildIconSizePx: 98.0px (37.333332dp)\n" +
-                    "\tfolderChildTextSizePx: 25.0px (9.523809dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 6.0px (2.2857144dp)\n" +
+                    "\tfolderCellWidthPx: 163.0px (62.095238dp)\n" +
+                    "\tfolderCellHeightPx: 192.0px (73.14286dp)\n" +
+                    "\tfolderChildIconSizePx: 123.0px (46.857143dp)\n" +
+                    "\tfolderChildTextSizePx: 32.0px (12.190476dp)\n" +
+                    "\tfolderChildDrawablePaddingPx: 8.0px (3.047619dp)\n" +
                     "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" +
                     "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
+                    "\tfolderTopPadding: 53.0px (20.190475dp)\n" +
+                    "\tfolderFooterHeight: 123.0px (46.857143dp)\n" +
                     "\tbottomSheetTopPadding: 114.0px (43.42857dp)\n" +
                     "\tbottomSheetOpenDuration: 267\n" +
                     "\tbottomSheetCloseDuration: 267\n" +
@@ -607,15 +607,15 @@
                     "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" +
                     "\tinv.numFolderRows: 3\n" +
                     "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 397.0px (198.5dp)\n" +
-                    "\tfolderCellHeightPx: 371.0px (185.5dp)\n" +
-                    "\tfolderChildIconSizePx: 99.0px (49.5dp)\n" +
-                    "\tfolderChildTextSizePx: 23.0px (11.5dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 80.0px (40.0dp)\n" +
+                    "\tfolderCellWidthPx: 240.0px (120.0dp)\n" +
+                    "\tfolderCellHeightPx: 208.0px (104.0dp)\n" +
+                    "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
+                    "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
+                    "\tfolderChildDrawablePaddingPx: 16.0px (8.0dp)\n" +
                     "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" +
                     "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
                     "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 0.0px (0.0dp)\n" +
+                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
                     "\tbottomSheetTopPadding: 104.0px (52.0dp)\n" +
                     "\tbottomSheetOpenDuration: 500\n" +
                     "\tbottomSheetCloseDuration: 500\n" +
@@ -740,15 +740,15 @@
                     "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" +
                     "\tinv.numFolderRows: 3\n" +
                     "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 397.0px (198.5dp)\n" +
-                    "\tfolderCellHeightPx: 371.0px (185.5dp)\n" +
-                    "\tfolderChildIconSizePx: 99.0px (49.5dp)\n" +
-                    "\tfolderChildTextSizePx: 23.0px (11.5dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 80.0px (40.0dp)\n" +
+                    "\tfolderCellWidthPx: 240.0px (120.0dp)\n" +
+                    "\tfolderCellHeightPx: 208.0px (104.0dp)\n" +
+                    "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
+                    "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
+                    "\tfolderChildDrawablePaddingPx: 16.0px (8.0dp)\n" +
                     "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" +
                     "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
                     "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 0.0px (0.0dp)\n" +
+                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
                     "\tbottomSheetTopPadding: 104.0px (52.0dp)\n" +
                     "\tbottomSheetOpenDuration: 500\n" +
                     "\tbottomSheetCloseDuration: 500\n" +
@@ -873,15 +873,15 @@
                     "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" +
                     "\tinv.numFolderRows: 3\n" +
                     "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 408.0px (204.0dp)\n" +
-                    "\tfolderCellHeightPx: 648.0px (324.0dp)\n" +
+                    "\tfolderCellWidthPx: 204.0px (102.0dp)\n" +
+                    "\tfolderCellHeightPx: 240.0px (120.0dp)\n" +
                     "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
                     "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 163.0px (81.5dp)\n" +
+                    "\tfolderChildDrawablePaddingPx: 27.0px (13.5dp)\n" +
                     "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" +
                     "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
                     "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 0.0px (0.0dp)\n" +
+                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
                     "\tbottomSheetTopPadding: 704.0px (352.0dp)\n" +
                     "\tbottomSheetOpenDuration: 500\n" +
                     "\tbottomSheetCloseDuration: 500\n" +
@@ -1006,15 +1006,15 @@
                     "\ticonDrawablePaddingPx: 14.0px (7.0dp)\n" +
                     "\tinv.numFolderRows: 3\n" +
                     "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 408.0px (204.0dp)\n" +
-                    "\tfolderCellHeightPx: 648.0px (324.0dp)\n" +
+                    "\tfolderCellWidthPx: 204.0px (102.0dp)\n" +
+                    "\tfolderCellHeightPx: 240.0px (120.0dp)\n" +
                     "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
                     "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 163.0px (81.5dp)\n" +
+                    "\tfolderChildDrawablePaddingPx: 27.0px (13.5dp)\n" +
                     "\tfolderCellLayoutBorderSpacePx: 0.0px (0.0dp)\n" +
                     "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
                     "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 0.0px (0.0dp)\n" +
+                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
                     "\tbottomSheetTopPadding: 704.0px (352.0dp)\n" +
                     "\tbottomSheetOpenDuration: 500\n" +
                     "\tbottomSheetCloseDuration: 500\n" +
