diff --git a/org.eclipse.example.calc/src/org/eclipse/example/calc/internal/Calculator.java b/org.eclipse.example.calc/src/org/eclipse/example/calc/internal/Calculator.java
index 8d1725b..4418958 100644
--- a/org.eclipse.example.calc/src/org/eclipse/example/calc/internal/Calculator.java
+++ b/org.eclipse.example.calc/src/org/eclipse/example/calc/internal/Calculator.java
@@ -42,12 +42,21 @@
 		new Square();
 	}
 
+	// fixed: textProvider value may be null or empty String
+	private String getTextOrZero () {
+		String currentInput = textProvider.getDisplayText();
+		if ((currentInput == null) || (currentInput.isEmpty())) {
+			// most simple fix: empty means 0
+			currentInput = "0";
+		}
+		return currentInput;
+	}
+
 	private void calculate(String cmdName) {
 		float curValue;
 		float newValue = 0;
 
-		// get current value of display
-		curValue = Float.parseFloat(textProvider.getDisplayText());
+		curValue = Float.parseFloat(getTextOrZero());
 
 		Operation currentOp = Operations.INSTANCE.getOperation(cmdName);
 		if ((currentOp instanceof BinaryOperation) && (cmd == null)) {
@@ -96,7 +105,7 @@
 			if (Character.isDigit(digit) || digit == '.') {
 				if (clearText) {
 					// save current value and clear the display
-					value = Float.parseFloat(textProvider.getDisplayText());
+					value = Float.parseFloat(getTextOrZero());
 					textProvider.setDisplayText("");
 					setClearText(false);
 				}
