diff --git a/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart b/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart
index 2078d8a..82af3fd 100644
--- a/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart
+++ b/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart
@@ -86,21 +86,25 @@
   }
 
   int createPrimitiveValue(PrimitiveConstantValue value) {
-    if (value is TrueConstantValue) {
-      return trueMask;
-    }
-    if (value is FalseConstantValue) {
-      return falseMask;
-    }
-    if (value is NullConstantValue) {
-      return nullMask;
-    }
-    return otherMask;
+    return computeAbstractValueForConstant(value);
   }
 
   // TODO(coam): Same as getPrimitiveValue above.
   bool isPrimitiveValue(int value) => isSingleton(value);
 
+  int computeAbstractValueForConstant(ConstantValue value) {
+    if (value.isTrue) {
+      return trueMask;
+    }
+    if (value.isFalse) {
+      return falseMask;
+    }
+    if (value.isNull) {
+      return nullMask;
+    }
+    return otherMask;
+  }
+
   AbstractBool areDisjoint(int a, int b) =>
       AbstractBool.trueOrMaybe(a & b == powersetBottom);
 
diff --git a/pkg/compiler/lib/src/inferrer/powersets/powersets.dart b/pkg/compiler/lib/src/inferrer/powersets/powersets.dart
index 91eb49a..1cc13f9 100644
--- a/pkg/compiler/lib/src/inferrer/powersets/powersets.dart
+++ b/pkg/compiler/lib/src/inferrer/powersets/powersets.dart
@@ -338,7 +338,8 @@
   // that can tell us information about the bits given a ConstantValue
   @override
   AbstractValue computeAbstractValueForConstant(covariant ConstantValue value) {
-    int powersetBits = _powersetBitsDomain.powersetTop;
+    int powersetBits =
+        _powersetBitsDomain.computeAbstractValueForConstant(value);
     AbstractValue abstractValue =
         _abstractValueDomain.computeAbstractValueForConstant(value);
     return PowersetValue(abstractValue, powersetBits);
diff --git a/pkg/compiler/test/inference/powerset_bits_test.dart b/pkg/compiler/test/inference/powerset_bits_test.dart
index 4e37897..4261af7 100644
--- a/pkg/compiler/test/inference/powerset_bits_test.dart
+++ b/pkg/compiler/test/inference/powerset_bits_test.dart
@@ -20,6 +20,7 @@
 var c = true;
 var d = true;
 var e = func();
+var sink;
 
 bool func() {
   return false;
@@ -30,6 +31,8 @@
   c = b && a;
   d = a || b;
   e = false;
+  sink = e;
+  print(sink);
 }
 """;
 
diff --git a/tools/VERSION b/tools/VERSION
index f462d6b..d90ea8e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 10
 PATCH 0
-PRERELEASE 53
+PRERELEASE 54
 PRERELEASE_PATCH 0
\ No newline at end of file
